Commit Graph

7738 Commits

Author SHA1 Message Date
Christian Beikov 2d871d64f2 HHH-14897 Allow ordering with nulls first/last in JPA Criteria 2021-12-06 16:49:20 +01:00
Andrea Boriero 7dc70e9350 Fix ToOneAttributeMapping bidirectionalAttributeName value determination 2021-12-06 16:43:44 +01:00
Fabio Massimo Ercoli 71204a9e97 Test load contained in double containing 2021-12-06 16:43:44 +01:00
Steve Ebersole 087d486d6b Tests for debugging potential multiple calls to EmbeddableInstantiators 2021-12-04 13:53:10 -06:00
Steve Ebersole 9287b97cd3 HHH-14949 - Support @Access on @ElementCollection (for embeddable elements)
Fix
2021-12-03 15:32:13 -06:00
Steve Ebersole 86799d6c28 HHH-14949 - Support @Access on @ElementCollection (for embeddable elements)
Test
2021-12-03 15:32:13 -06:00
Steve Ebersole c190d37a57 initial work on DialectVersionDetails.isAfterDatabaseVersion 2021-12-02 21:36:52 -06:00
Steve Ebersole 9367561fe4 6.0 Beta2 2021-12-02 16:46:09 -06:00
Steve Ebersole 8203da2de1 Fix EnhancedProxy with Embeddable and Lazy BasicAttribute
- added log message when this condition occurs
- tried adding a `LoggerInspectionRule` based assertion to the test, but found that that rule is unfortunately very dependent on the message actually being logged
2021-12-02 15:44:17 -06:00
Fabio Massimo Ercoli 9f155a95ab Fix EnhancedProxy with Embeddable and Lazy BasicAttribute 2021-12-02 15:44:17 -06:00
Jan Schatteman 69cd716e37
Revert deprecations on main (#4412)
* Revert "HHH-14857 - Deprecations in preparation for 6"

This reverts commit 91e29358be.

* Revert "HHH-14857 - Deprecations in preparation for 6"

This reverts commit e4b56b9271.
2021-12-02 22:06:01 +01:00
Steve Ebersole ae25b651ca HHH-14885 - New composite user-type
HHH-14951 - Add @EmbeddableRepresentationStrategy

Prep work for `@EmbeddableRepresentationStrategy` - mostly move things from spi package to api, generally all marked `@Incubating`
2021-12-02 14:49:23 -06:00
Steve Ebersole e06a3dcdbc HHH-14885 - New composite user-type
HHH-14950 - Support mapping of embeddables with no setters (assuming a custom instantiator or repo-strategy is used)

Tests illustrating that HHH-14950 does indeed happen
2021-12-02 12:49:16 -06:00
Steve Ebersole 4b69854b9c HHH-14885 - New composite user-type
Initial work on interface-based embeddables with custom instantiator
2021-12-02 12:42:14 -06:00
Steve Ebersole 8339dffb88 HHH-14885 - New composite user-type
Initial work on interface-based embeddables
2021-12-02 06:52:22 -06:00
Christian Beikov 4cdc1c24fa Cleanup some model part APIs 2021-12-02 13:20:47 +01:00
Christian Beikov 47416b9e24 Fixup review comments 2021-12-02 13:17:53 +01:00
Andrea Boriero 9392b94ee7 Fix MatchingIdSelectionHelper#selectMatchingIds 2021-12-02 13:17:53 +01:00
Andrea Boriero b436392167 Re-enable additional tests 2021-12-02 13:17:53 +01:00
Andrea Boriero 7fa5d45175 Fix resolving id columns for NativeQuery with inplicit joins and aliases 2021-12-02 13:17:53 +01:00
Andrea Boriero 9bd5360bf2 Re-enabled additional tests 2021-12-02 13:17:53 +01:00
Andrea Boriero 9ef99082e1 Re-enabled additional tests 2021-12-02 13:17:53 +01:00
Andrea Boriero 0fd83cf649 Fix resolving id columns for NativeQuery with inplicit joins and aliases 2021-12-02 13:17:53 +01:00
Andrea Boriero 91cc3d8d51 Re-enabled additional tests 2021-12-02 13:17:53 +01:00
Andrea Boriero 16460cf3ab Re-enable additional tests 2021-12-02 13:17:53 +01:00
Fabio Massimo Ercoli 430071027c Avoid to recreate the DomainParameterXref twice 2021-12-02 12:53:57 +01:00
Fabio Massimo Ercoli 427204910c Cache only immutable part of HqlInterpretation
So that it can be reused safely from different threads
2021-12-02 12:53:57 +01:00
Fabio Massimo Ercoli 8c369f1998 Test concurrent queries with multiple params 2021-12-02 12:53:57 +01:00
Andrea Boriero 8d9ce9cd0e Fix test failures for MySql, Derby and Sybase 2021-12-02 11:35:47 +01:00
Steve Ebersole 9137b9e79a HHH-14885 - New composite user-type
`@EmbeddableInstantiatorRegistration`
2021-12-01 20:47:14 -06:00
Steve Ebersole 61d178ef1b HHH-14885 - New composite user-type
`@EmbeddableInstantiatorRegistration`
2021-12-01 18:16:29 -06:00
Steve Ebersole 924c2b29c3 HHH-14885 - New composite user-type
Working support for `@EmbeddableInstantiator` on either the embedded site or on the embeddable class.
2021-12-01 17:35:43 -06:00
Steve Ebersole 8ab27a0ff0 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
- shared `#finishInitialization` handling for `VirtualIdEmbeddable` and `IdClassEmbeddable`
      note: was not yet able to get that working with `EmbeddableMappingType`
  - clean up ComponentType, esp wrt its use of ComponentTuplizer

Still need to
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
2021-12-01 13:48:51 -06:00
Steve Ebersole 55bfc59db1 fix gradle deprecations 2021-12-01 11:50:36 -06:00
Sanne Grinovero 334aeb1349 HHH-14946 Upgrading base requirements to Java 11 2021-12-01 17:34:28 +00:00
Steve Ebersole dc744844e4 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
- Clean up Component Type, removing as many calls to its tuplizer as possible atm
- Clean up ManagedMappingType, EntityPersister, etc - mainly work around getting and setting value(s)

Still need to
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
  - clean up ComponentType, esp wrt its use of ComponentTuplizer
2021-12-01 11:33:03 -06:00
Steve Ebersole b23c2f48c1 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
- Clean up Component Type, removing as many calls to its tuplizer as possible atm
- Clean up ManagedMappingType, EntityPersister, etc - mainly work around getting and setting value(s)

Still need to
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
  - clean up ComponentType, esp wrt its use of ComponentTuplizer
2021-12-01 11:33:03 -06:00
Steve Ebersole eb5afb0427 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
Move all component instantiations to use the new mapping model EmbeddableInstantiator

Still need to
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
  - clean up ComponentType, esp wrt its use of ComponentTuplizer
2021-12-01 11:33:03 -06:00
Steve Ebersole 5b44aa5d44 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
EmbeddableInitializer fully uses EmbeddableInstantiator and value injection

Still need to
  - integrate EmbeddableInstantiator work (ComponentType/ComponentTuplizer)
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
2021-12-01 11:33:03 -06:00
Steve Ebersole a9fce4b69d Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
EmbeddableInitializer fully uses EmbeddableInstantiator and value injection

Still need to
  - integrate EmbeddableInstantiator work (ComponentType/ComponentTuplizer)
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
2021-12-01 11:33:03 -06:00
Steve Ebersole 82d884d65c Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
Prep work for EmbeddableInstantiator - initializer

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
2021-12-01 11:33:03 -06:00
Steve Ebersole 42d1fcca19 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
Prep work for EmbeddableInstantiator - initializer

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
2021-12-01 11:33:03 -06:00
Steve Ebersole 142299e7a8 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
Prep work for EmbeddableInstantiator - initializer

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
2021-12-01 11:33:03 -06:00
Steve Ebersole 29ed0a0566 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
Prep work for EmbeddableInstantiator - initializer

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
2021-12-01 11:33:03 -06:00
Steve Ebersole 01c6b144ce Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
Prep work for EmbeddableInstantiator - initializer

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
2021-12-01 11:33:03 -06:00
Steve Ebersole 185bcd43aa Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
Prep work for EmbeddableInstantiator - initializer

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
2021-12-01 11:33:03 -06:00
Steve Ebersole d506bb379c Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
More clean-up (Tuplizers!!)

Mostly EntityTuplizer in this commit

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
2021-12-01 11:33:02 -06:00
Steve Ebersole bb2b0a6c47 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable`
Clean-up

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
2021-12-01 11:33:02 -06:00
Steve Ebersole 0322d8fa84 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable`
EmbeddableInstantiator

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
2021-12-01 11:33:02 -06:00
Steve Ebersole 546a635be9 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable`
Added new form of `SqlExpressionResolver#createColumnReferenceKey`

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
2021-12-01 11:33:02 -06:00
Steve Ebersole 86e8b2751c Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable`
This 3rd commit cleans up some code

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
2021-12-01 11:33:02 -06:00
Steve Ebersole dd4f380ea9 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable`
This second commit renames `EmbeddableMappingType`

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
2021-12-01 11:33:02 -06:00
Steve Ebersole 524b46b246 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable`
This initial commit is scaled back - it only introduces the embeddable forms and supporting changes.

Still need to
  - integrate EmbeddableInstantiator work
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
2021-12-01 11:33:02 -06:00
Sanne Grinovero 25d8fda12c Improve reliability of ProposedGeneratedTests 2021-12-01 15:53:28 +00:00
Andrea Boriero 46857f456a Fix SimpleNaturalIdLoader#resolveIdToNaturalId() 2021-12-01 13:17:09 +01:00
Andrea Boriero df0479951c Fix o.h.Interceptor#onSave call 2021-12-01 13:16:37 +01:00
Andrea Boriero b4cfe7e54a Fix readOnly value and Query#scroll() 2021-11-29 13:57:26 +01:00
Andrea Boriero 0fbfc30eaa Fix refresh of a Proxy instance 2021-11-29 13:57:26 +01:00
Chris Cranford 9124fd84b4 Fix HBM joined-subclass key order by sorting 2021-11-27 02:36:29 -05:00
Andrea Boriero f83fb54614 Fix TypeDefinitionBinder registering TypeDefinition 2021-11-26 14:49:38 +01:00
Andrea Boriero 1f541170c7 Re-enable additional tests 2021-11-26 10:08:14 +01:00
Andrea Boriero 0e1822e5dd Re-enabled additional tests 2021-11-26 10:08:14 +01:00
Andrea Boriero e7992a35d4 Re-enable additional tests 2021-11-26 10:08:14 +01:00
Jan Schatteman ce6850bdfa Remove 'statementInspectorClass' from @Jpa and refactor its usage to use
a @SettingProvider

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-25 18:42:32 +01:00
Andrea Boriero cc43aaefb9 Re-enable additional tests 2021-11-25 14:03:04 +01:00
Andrea Boriero 492d391e73 Re-enable additional tests 2021-11-25 14:03:04 +01:00
Andrea Boriero 9766b05eba Re-enable additional tests 2021-11-25 14:03:04 +01:00
Andrea Boriero 36fa3fca8e Re-enabled stream tests 2021-11-25 14:03:04 +01:00
Andrea Boriero acd78256eb Fix statistics for native query 2021-11-25 14:03:04 +01:00
Andrea Boriero 92e8436014 Re-enable additional tests 2021-11-25 14:03:04 +01:00
Andrea Boriero 7f574f4a2a Merge branch 'wip/6.0_merge' into wip/6.0 2021-11-25 09:54:48 +01:00
Christian Beikov cbcec73d4f * Handle quoted identifiers in HQL and the Ordering parser
* Switch from the "expression" to "expressionOrPredicate" rule in the HQL grammar where it makes sense as required by some HQL tests
* Cleanup parser rule ordering to allow more keywords in the identifier rule
* Implement literal support for Ordering parser
* Add special AvgFunction as needed by H2, HSQL, DB2, SQL Server and Sybase that casts arguments to double if necessary
* Fix wrong deduplication of order by fragments in case a plural attribute is fetched multiple times
* Implement support for de-referencing any-valued mappings in HQL
* Avoid unnecessary entity subtypes in polymorphic splitted queries if a base type also matches the requested type
* Implement pagination support for polymorphic splitted queries
* Cleanup path part resolving by removing lots of duplicate code
* Aligh HQL parsing expectations to the expected behavior of 5.x
* Add method to `JavaType` that allows determining if a type is can be widened to another which is used for arithmetic type resolving
* Implement validations for fetch owner checking
* Fix issues with the id table creation due to lacking column lengths in the column DDL type
* Fix issues and add some optimizations related to multi-table delete handling
* Add the notion of a special "implicit" alias to avoid generating a unique alias for unaliased or implicit HQL joins
* Properly implement multiple bag fetch validation
* Make sure filter predicates are applied for all plural attribute joins
* Fix some issues with undecidable parameter type inference
* Fix some issues with negated SQM predicates not being converted to the proper SQL AST predicates
* Fix issues with qualifying DML target referencing columns
* Fix `is null` semantics for tuples referring to embeddable types
* Capture necessary details from JdbcValuesMetadata in the cached data to avoid executing a query on cache hit when types should be inferred
* Get rid of special CollectionPropertyNames and writeup a migration guide section for the replacements
2021-11-25 08:51:51 +01:00
Andrea Boriero bdc1e4103d Merge remote-tracking branch 'upstream/main' into wip/6.0_merge 2021-11-24 16:48:43 +01:00
Andrea Boriero d21db9e807 Fix loading OnetoOne self referencing entity 2021-11-24 16:35:23 +01:00
Marius Klein f604e8fa33 HHH-14937 SybaseASE15 supports schemas and catalogs 2021-11-23 11:28:01 +01:00
Christian Beikov eaea919cf5 Fix HBM based model binding wrt id-classes and move the last derived id tests 2021-11-19 16:29:56 +01:00
Christian Beikov b8429bca42 Introduce a proper EmbeddableMappingType for id-class and handle id-class uses uniformly 2021-11-19 16:29:56 +01:00
Andrea Boriero 971f58e335 Expose virtual id types in JPA metamodel 2021-11-19 16:29:56 +01:00
Andrea Boriero 57f7e59e14 Fix SqlResultSetMappingDescriptor generating ResultMemento for Embeddable attributes 2021-11-19 16:29:56 +01:00
Andrea Boriero a771d035c9 Fix null embeddable with circular reference 2021-11-19 16:29:56 +01:00
Andrea Boriero b520752c8d Fix issue with class used as IdClass and also embedded in another IdClass 2021-11-19 16:29:56 +01:00
Andrea Boriero 07a314b663 Fix EmbeddableMappingType trowing exception wehen the attributeMapping is an instance of EmbeddedAttributeMapping 2021-11-19 16:29:56 +01:00
Andrea Boriero 55b1ec48f1 Fix MappingModelCreationHelper#interpretToOneKeyDescriptor() throwing NotYetImplementedFor6Exception for NonAggregateIdentifier 2021-11-19 16:29:56 +01:00
Andrea Boriero d33200b309 Fix using wrong vale mapping for paramter binging with EntityCollectionPart 2021-11-19 16:29:56 +01:00
Andrea Boriero 411355852a Fix PersistenceUnitUtilImpl#getIdentifier() throws NPE for NonAggregateIdentifier 2021-11-19 16:29:56 +01:00
Andrea Boriero eae9a39b14 Fix throw exception when an Entity has an EmbeddedId being also an IdClass of another Entity 2021-11-19 16:29:56 +01:00
Andrea Boriero 9d08be53a6 Fix load NonAggregateIdentifier by id 2021-11-19 16:29:56 +01:00
Jan Schatteman 69d2c65880
Removal @Deprecated from availablesettings (#4369)
* Remove deprecated *_CLASSLOADER from AvailableSettings

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated HBM2DLL_CREATE_NAMESPACES and DEPRECATED_EXTRA_PHYSICAL_TABLE_TYPES from AvailableSettings

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated and duplicated HBM2DDL_DB_NAME, HBM2DDL_DB_VERSION, HBM2DDL_DB_MAJOR_VERSION, HBM2DDL_DB_MINOR_VERSION from AvailableSettings

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-17 14:52:52 +01:00
Andrea Boriero 8c5adc86d0 Merge remote-tracking branch 'upstream/main' into wip/6.0_merge_main_1 2021-11-16 17:23:06 +01:00
Sanne Grinovero 1dc49271c1 HHH-14540 Maintain strict API backwards compatibility 2021-11-16 15:32:05 +00:00
Chris Cranford e155fc551e HHH-14540 Don't share session-scoped interceptors with temp session 2021-11-16 15:27:51 +00:00
Andrea Boriero 8e8cccfa70 Re-enable additional tests 2021-11-16 13:51:26 +01:00
Andrea Boriero 8042cc2cdb Implemented BasicValue#accept method 2021-11-16 13:51:26 +01:00
Andrea Boriero 115234e70e Fix lazy toOne mappedby proxy generation 2021-11-16 13:51:26 +01:00
Andrea Boriero c1e16b4e4a Re-enabled additional tests 2021-11-16 13:51:26 +01:00
Jan Schatteman 37703e2e4c
Remove deprecated properties from AvailableSettings (#4362)
* Remove deprecated ACQUIRE_CONNECTIONS and RELEASE_CONNECTIONS from AvailableSettings

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated PROXOOL_PREFIX and PREFER_POOLED_VALUES_LO from AvailableSettings

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-15 23:03:16 +01:00
Christian Beikov 3e97b1c205 Unify parameter type resolving 2021-11-15 16:17:11 +01:00
Karel Maesen f967e16fee HHH-14925 Using JavaTypeRegistry#findDescriptor() 2021-11-15 16:17:11 +01:00
Karel Maesen fa48448f77 HHH-14925 Fix type resolution in SqmCriteriaNodeBuilder 2021-11-15 16:17:11 +01:00
Karel Maesen 5a7ad6d11c HHH-14925 Add additional unit tests. 2021-11-15 16:17:11 +01:00
Fabio Massimo Ercoli a7167e2a48 Allow fetching nested unique keys 2021-11-15 14:36:34 +01:00
Fabio Massimo Ercoli e10eaf3ef4 Test query entity with mapped by embedded 2021-11-15 14:36:34 +01:00
Andrea Boriero 7dab08448f Re-enable additional tests 2021-11-15 14:00:52 +01:00
Andrea Boriero 1b879a65f0 Merge remote-tracking branch 'upstream/main' into wip/6.0_merge 2021-11-15 13:52:08 +01:00
Ratul sharker b125d13ede HHH-14916 : test case written. 2021-11-15 13:43:37 +01:00
Ratul sharker 1a641695fa HHH-14916 : inside `renderFetches`, `renderJoins` called if the `fetch` is `instanceof` `Form` interface. 2021-11-15 13:43:37 +01:00
Steve Ebersole 7b1201d542 Some pre-work for embeddable instantiator work. 2021-11-12 11:56:50 -06:00
Jan Schatteman db12d5a17a Remove deprecated JPA_METAMODEL_GENERATION and JPA_METAMODEL_POPULATION from AvailableSettings
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-12 14:57:52 +01:00
Christian Beikov 60a3c08563 Downgrade H2 to 1.4.197 for testing and to allow usage of H2GIS 2021-11-12 12:09:49 +01:00
Steve Ebersole 3f7536a94e The JPA TCK tests expect very specific things regarding a negated predicate node. 2021-11-11 18:03:28 -06:00
Steve Ebersole 7ce1c673ff JpaCompliance improvement 2021-11-11 17:03:40 -06:00
Christian Beikov 6c816932ed Fix generated values fetching for component attributes and implement identity select for Oracle 2021-11-11 15:49:30 +01:00
Christian Beikov 9a329f4991 Various fixes and move tests from test.jpa
* Remodel `@MapKey` support to not create subqueries in the on-clause anymore
* Make sure the index table group is reused for the to-one association a `@MapKey` refers to
* Consistently register collection part table groups
* Implement support for FK optimization for EntityCollectionPart
2021-11-11 15:49:30 +01:00
Christian Beikov 38d1c122eb Various fixes and move tests from test.jpa
* Implement parameter list expansion for native queries
* Fix empty subselect fetched collection initialization
* Implement support for nested table group joins to allow joins on the map-key
* Replace `getTableReference` with `resolveTableReference` where appropriate to distinguish which calls can cause table reference joins to be created
* Fix some table reference resolving issues with inverse embeddable model parts
* Use a Fetch for entity ids instead of a DomainResult
* Fix bidirectional fetching for collection initializtion
* Implement table reference join pruning for treat usages
* Implement strict JPA compliance for different parameter styles
* Ensure From nodes in Criteria are unique
* Add unique key support to DelayedEntityFetch
* Check if FetchParent is enhanced for lazy loading for DelayedEntityFetch
* Register entity instances under all possible EntityUniqueKey
* Introduce EntityJavaTypeDescriptor that implements equality based on object identity
2021-11-11 15:49:30 +01:00
Christian Beikov 24c758c2e9 Do not alter the join type anymore for non-real table groups that have table reference joins. Handle nullable key tables for to-ones properly and implement bidirectional one-to-one fetching optimization 2021-11-11 15:49:30 +01:00
Jan Schatteman 723735ca76 Use org.hibernate.testing.orm.junit.RequiresDialect instead of org.hibernate.testing.RequiresDialect and indicate Dialect version where needed.
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-10 22:53:29 +01:00
Jan Schatteman c4401452dd Enable a SettingProvider[] in @Jpa and refactor away the NonStringValueSettingProvider class
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-10 22:53:29 +01:00
Steve Ebersole f935d2b8e1 HHH-14923 - Allow CriteriaQuery to determine its "return type" as part of setting the selection 2021-11-10 09:12:53 -06:00
Jan Schatteman 2d38df66fd Updated test to JUnit5 to remove reference to Dialect subclass
Moved it back for now to the old location, since it fails with a
non-related error that will have to be looked at as soon as there is an
implementation for composite sub-types

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-10 08:37:29 +01:00
Steve Ebersole 599b0ba39f HHH-14919 - Improve handling for java.sql.Date, Time and Timestamp 2021-11-09 07:18:09 -06:00
Andrea Boriero 9c9a326ae6 Fix Dialect#BatchLoadSizingStrategy#determineOptimalBatchLoadSize taking into account org.hibernate.cfg.AvailableSettings#IN_CLAUSE_PARAMETER_PADDING 2021-11-09 12:16:41 +01:00
Andrea Boriero 53ad8d36e2 HHH-14876 Fix BatchLoadSizingStrategy#determineOptimalBatchLoadSize() 2021-11-09 12:16:41 +01:00
Andrea Boriero f9d0b7d069 HHH-14876 Parameter padding for IN clauses doesn't work in Hibernate 6.0.0.Beta1 2021-11-09 12:16:41 +01:00
Andrea Boriero 3f6a782760 Fix ScrollableCollectionFetchingTest Hana db failures 2021-11-09 12:12:43 +01:00
Andrea Boriero e9a933fe68 Merge remote-tracking branch 'upstream/main' into wip/6.0_merge 2021-11-09 10:50:16 +01:00
Yoann Rodière 2e1f7b5d89 HHH-14918 Test entity with composite ID containing an association to another entity which itself has a composite ID containing an association to another entity 2021-11-08 16:52:09 +01:00
Yoann Rodière ccd58ee499 HHH-14918 Always process components containing an ID copy as we would any other FK 2021-11-08 16:52:09 +01:00
Steve Ebersole 0eee5ff5b0 HHH-14905 - Verify that custom JavaType and JdbcType registration combo works 2021-11-05 10:35:21 -05:00
Steve Ebersole 9fec060fe2 HHH-14914 - Passing an ExtendedBeanManager which is never notified leads to runtime errors 2021-11-04 15:49:11 -05:00
Steve Ebersole 0ea110aea2 HHH-14913 - sub-query modifiers are ignored 2021-11-04 14:53:38 -05:00
Andrea Boriero b70487546e Code refactoring 2021-11-04 19:43:04 +01:00
Steve Ebersole 0b46966096 HHH-14905 - Verify that custom JavaType and JdbcType registration combo works 2021-11-04 13:11:33 -05:00
Steve Ebersole 31eb3b82c5 HHH-14905 - Verify that custom JavaType and JdbcType registration combo works 2021-11-04 13:11:33 -05:00
Steve Ebersole 34cdd3077c HHH-14905 - Verify that custom JavaType and JdbcType registration combo works 2021-11-04 13:11:33 -05:00
Andrea Boriero e28d61330e Derby dialect supportsResultSetPositionQueryMethodsOnForwardOnlyCursor should return false 2021-11-04 12:39:29 -05:00
Andrea Boriero 0facaf5632 Re-enable additional scrollable fetch test 2021-11-04 12:39:29 -05:00
Andrea Boriero 9b569932d2 Fix DynamicBatch loading 2021-11-04 12:39:29 -05:00
Andrea Boriero 29e22c68ac Fix SingleIdEntityLoaderDynamicBatch#load() method 2021-11-04 12:39:29 -05:00
Andrea Boriero 696eea9bbe Fix lazy loading of lazy basic attributes when an entity is fetched 2021-11-04 12:39:29 -05:00
Andrea Boriero 3dedb22365 Implement FetchingScrollableResultsImpl 2021-11-04 12:39:29 -05:00
Andrea Boriero 9d8fbfb727 Bytecode enhamcement fix unnecessary query for an optional OneToOne 2021-11-04 12:39:29 -05:00
Fabio Massimo Ercoli 47605bf93b Navigate all possible targetKeyPropertyNames 2021-11-02 16:28:27 +01:00
Fabio Massimo Ercoli fdcb07420f Defer the extraction of the sub part
When the foreign key is set to the to-one attribute, this is necessary to have an entity identity mapping using the foreign key SQL attributes
2021-11-02 16:28:27 +01:00
Fabio Massimo Ercoli de0dffe105 Allow ast navigation embedded > to-one 2021-11-02 16:28:27 +01:00
Fabio Massimo Ercoli 4e216a121c Test embedded > to-one | embedded 2021-11-02 16:28:27 +01:00
Sanne Grinovero 6c53a9d1ab HHH-14903 The new getConfiguredJdbcBatchSize method optimisation should apply to StatelessSession as well 2021-11-01 10:28:11 +00:00
Karel Maesen eef65b5bc2 Resolve to SqlTypes.GEOMETRY for Postgresql/CockroachDB 2021-10-31 14:52:00 +01:00
Steve Ebersole 46877fdcb4 HHH-14902 - JpaCompliantLifecycleStrategy$BeanImpl#initialize causes a deployment failure due to CDI Bean Manager not being available 2021-10-29 15:21:42 -05:00
Andrea Boriero 98a00ea9a1 Fix java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: Year when calling JdbcDateJavaTypeDescriptor#toString() 2021-10-29 11:42:42 +02:00
Andrea Boriero 47593f6412 Merge remote-tracking branch 'upstream/main' into wip/6.0_merge 2021-10-28 14:18:32 +02:00
Sanne Grinovero a2cbe10e07 HHH-14901 Refactor shared code into a single reused method 2021-10-27 11:58:10 +01:00
Sanne Grinovero cc7498cf3c HHH-14901 Introduce a new BatchBuilder implementation, suitable for immutable code deployments 2021-10-27 11:58:10 +01:00
Sanne Grinovero 7f71dca1ae HHH-14899 StaleObjectStateExceptionHandlingTest should expect a StaleStateException 2021-10-26 16:34:24 +01:00
Sanne Grinovero 634c257d93 HHH-14899 Rename test class to fix typo: StateObjectStateExceptionHandlingTest to StaleObjectStateExceptionHandlingTest 2021-10-26 16:34:24 +01:00
Sanne Grinovero 7ff73d178f HHH-14899 Inconsistent default value for STATEMENT_BATCH_SIZE 2021-10-26 16:34:24 +01:00
Sanne Grinovero 959dfea66f HHH-14899 Have SessionImpl override the default method getConfiguredJdbcBatchSize 2021-10-26 16:34:24 +01:00
Sanne Grinovero 5ad60c4b61 HHH-14900 No need in tests to shadow the jdbcBatchSize field of BatchBuilderImpl extensions 2021-10-26 16:34:24 +01:00
Sanne Grinovero aba67cfe6e HHH-14900 BatchBuilderImpl doesn't need to be Configurable 2021-10-26 16:34:24 +01:00
Sanne Grinovero 9ecd1799a0 HHH-14900 Since the BatchBuilderImpl Service is shared, mutable field jdbcBatchSize should be marked volatile 2021-10-26 16:34:24 +01:00
Sanne Grinovero 8a2869a09a HHH-14900 Remove dead logger 2021-10-26 16:34:24 +01:00
Steve Ebersole 0925e48ebf more user-guide basic-type chapter work;
renamed `JavaTypeDescriptorRegistry` to `JavaTypeRegistry`;
renamed `JdbcTypeDescriptorRegistry` to `JdbcTypeRegistry`
2021-10-25 13:55:53 -05:00
Andrea Boriero e588245f73 Fix checkstyle error 2021-10-25 18:09:54 +02:00
Andrea Boriero 5d62eac4b9 Merge remote-tracking branch 'upstream/main' into wip/6.0_merge 2021-10-25 18:05:46 +02:00
Andrea Boriero 67c2c51d47 Re-enabled additional tests 2021-10-25 15:57:39 +02:00
Christian Beikov 6745f71f88 Add support for from-space wide explicit join ordering and thus support entity/cross joins on all JpaFrom elements 2021-10-25 09:15:25 +02:00
Christian Beikov 1456a2dd7f Render implicit joins as nested table group joins instead of sub queries 2021-10-25 09:15:25 +02:00
Christian Beikov 756afb8788 Fix collection table cleanup issues for all strategies 2021-10-25 09:15:25 +02:00
Christian Beikov fa3101c29e Fix join predicate rendering and fix support for implicit joins in the ON clause 2021-10-25 09:15:25 +02:00
Jan Schatteman 8fc0e05930 Re-enable WithClauseTest
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-10-25 09:15:25 +02:00
Steve Ebersole a3c36af5c6 HHH-14877 - FetchMode.SUBSELECT ignored
- cleanup
2021-10-21 16:47:21 -05:00
Steve Ebersole aef0775946 HHH-14877 - FetchMode.SUBSELECT ignored
- fixed additional tests
2021-10-21 16:47:21 -05:00
Steve Ebersole 96c0b04658 HHH-14877 - FetchMode.SUBSELECT ignored
- fixed Oracle errors related to follow-on locking
2021-10-21 16:47:20 -05:00
Steve Ebersole 653de50aa5 HHH-14877 - FetchMode.SUBSELECT ignored
Worked on FetchMode.SUBSELECT support but also worked on a few general collection fetch issues and a few improvements
2021-10-21 16:47:20 -05:00
Steve Ebersole aca86036d3 HHH-14877 - FetchMode.SUBSELECT ignored
Worked on FetchMode.SUBSELECT support but also worked on a few general collection fetch issues and a few improvements
2021-10-21 16:47:20 -05:00
Steve Ebersole db70fd38dd HHH-14877 - FetchMode.SUBSELECT ignored
Worked on FetchMode.SUBSELECT support but also worked on a few general collection fetch issues and a few improvements
2021-10-21 16:47:20 -05:00
Steve Ebersole e8e62c4d6c HHH-14877 - FetchMode.SUBSELECT ignored 2021-10-21 16:47:20 -05:00
Steve Ebersole b5558307a9 Clean up various legacy "read path" contracts
- clean-up unused Type methods
    * Type#nullSafeGet
    * Type#hydrate
    * Type#resolve
    * Type#getSemiResolvedType
    * Type#semiResolve
    * related
- start removing usage of Tuplizer
- start removing usage of legacy Tuplizer-based Instantiator
- drop `EntityMode` completely
- preliminary clean-up of EntityTuplizer
- preliminary clean-up of ComponentTuplizer
2021-10-21 16:26:50 -05:00
Steve Ebersole c34ea34f6b Clean up various legacy "read path" contracts
- clean-up unused Type methods
    * Type#nullSafeGet
    * Type#hydrate
    * Type#resolve
    * Type#getSemiResolvedType
    * Type#semiResolve
    * related
- start removing usage of Tuplizer
- start removing usage of legacy Tuplizer-based Instantiator
- Drop `EntityMode` completely
2021-10-21 16:26:49 -05:00
Steve Ebersole d2530df5ac Clean up various legacy "read path" contracts
- clean-up unused Type methods
    * Type#nullSafeGet
    * Type#hydrate
    * Type#resolve
    * Type#getSemiResolvedType
    * Type#semiResolve
    * related
- start removing usage of Tuplizer
- start removing usage of legacy Tuplizer-based Instantiator
2021-10-21 16:26:49 -05:00
Steve Ebersole 3efaec2cff Clean up various legacy "read path" contracts
- clean-up unused Type methods
    * Type#nullSafeGet
    * Type#hydrate
    * Type#resolve
    * Type#getSemiResolvedType
    * Type#semiResolve
    * related
- start removing usage of Tuplizer
- start removing usage of legacy Tuplizer-based Instantiator
2021-10-21 16:26:49 -05:00
Steve Ebersole 62f761732d Clean up various legacy "read path" contracts
- clean-up unused Type methods
    * Type#nullSafeGet
    * Type#hydrate
    * Type#resolve
    * Type#getSemiResolvedType
    * Type#semiResolve
    * related
- start removing usage of Tuplizer
- start removing usage of legacy Tuplizer-based Instantiator
2021-10-21 16:26:49 -05:00
Steve Ebersole cf36d17fac Clean up various legacy "read path" contracts
* Type#nullSafeGet
* Type#hydrate
* Type#resolve
* Type#getSemiResolvedType
* Type#semiResolve
* related
2021-10-21 16:26:49 -05:00
Steve Ebersole 91e29358be HHH-14857 - Deprecations in preparation for 6 2021-10-21 16:13:55 -05:00
Steve Ebersole e4b56b9271 HHH-14857 - Deprecations in preparation for 6 2021-10-21 13:52:33 -05:00
Steve Ebersole 54ea27a4d5 improve hibernate-core-jakarta build 2021-10-21 12:25:49 -05:00
Christian Beikov 3d27f61221 Fix non-deterministic time based test 2021-10-20 16:19:22 +02:00
bb7133 ae8bedfa6d update wrong SkipForDialect 2021-10-20 16:19:22 +02:00
bb7133 5bd27eb853 HHH-14576 : Introduce the dialect for TiDB 2021-10-20 16:19:22 +02:00
Fabio Massimo Ercoli 00aa4addec HHH-14890 Add javadoc for interpretToOneKeyDescriptor(s) 2021-10-20 15:54:25 +02:00
Fabio Massimo Ercoli 70a19bae68 HHH-14890 Interpret nested ToOne key descriptor 2021-10-20 15:54:25 +02:00
Fabio Massimo Ercoli 1f3f3e2639 HHH-14890 Test mapped by on embeddable 2021-10-20 15:54:25 +02:00
Christian Beikov 98de63d0a1 Handle keywords initialization for dialects through DialectResolutionInfo and un-deprecate Dialect#getKeywords 2021-10-20 15:02:48 +02:00
Christian Beikov ae9d99a32c Handle the fact that PostgreSQL uses a backslash as default escape character in the like predicate 2021-10-20 15:02:48 +02:00
Higor Tavares 2f52c8024c remove the commented code 2021-10-20 10:37:14 +02:00
Andrea Boriero 9c2c7e13dd HHH-14875 Slow query log seems to be missing in Hibernate 6.0.0.Beta1 2021-10-19 17:30:54 +02:00
Andrea Boriero dd36e349b1 Merge branch 'wip/6.0_merge' into wip/6.0 2021-10-19 16:36:48 +02:00
Christian Beikov a4e406a54e * Add SqlTypes as analogy to java.sql.Types containing constants for Hibernate specified types
* Add FormatMapper for a pluggable JSON serialization and deserialization strategy
* Add native UUID type support for H2, Cockroach, PostgreSQL
* Add native INET type support for Cockroach, PostgreSQL
* Add native JSON type support for MySQL, Cockroach, PostgreSQL
* Add native INTERVAL SECOND type support for H2, Cockroach, PostgreSQL
* Add fallback JdbcTypes for new SqlTypes
* Register column types for new SqlTypes
* Add support for BasicTypeReference in TypedParameterValue
* Fix a lot of method signatures with respect to type parameter issues
* Fix CustomType, UserType and EnhancedUserType with respect to type parameters
* Get rid of StringRepresentableType and some other unused deprecated methods
2021-10-19 16:33:36 +02:00
Christian Beikov 541302a511 Get rid of most basic type subclasses 2021-10-19 16:33:36 +02:00
Christian Beikov 4f861e13ba Properly handle SQLFunction registrations 2021-10-19 16:33:36 +02:00
Andrea Boriero 7f46f11f3b Merge remote-tracking branch 'upstream/main' into wip/6.0_merge 2021-10-19 16:23:07 +02:00
Andrea Boriero 6ddf3530fa EntityValuedFetchable add isOptional and isUnwrapproxy methods 2021-10-19 13:13:47 +02:00
Andrea Boriero 6ffcee44a6 search second level cache if proxy entity metamodel has subclasses 2021-10-19 13:13:47 +02:00
Andrea Boriero 1ffa1347a3 Rename ToOneAttributeMapping isInternalLoadNullable to isOptional 2021-10-19 13:13:47 +02:00
Andrea Boriero f02ffde061 Re-enabled additional tets 2021-10-19 13:13:47 +02:00
Andrea Boriero ad5326a8ce Re-enabled additional tests 2021-10-19 13:13:47 +02:00
Andrea Boriero 73452ae61f Fix ToOne with Ignore not found lazy loading 2021-10-19 13:13:47 +02:00
Andrea Boriero d95dad597c Re-enabled additional tests 2021-10-19 13:13:47 +02:00
Andrea Boriero 449d4adc27 Fix cascade loader not join associations after first collection 2021-10-19 13:13:47 +02:00
Andrea Boriero 57e2d25dd3 Re-enabled additional tests 2021-10-19 13:13:47 +02:00
Andrea Boriero dcab4bf7bf Fix unfetched collection assembling 2021-10-19 13:13:47 +02:00
Andrea Boriero d616f2aa55 Fix ToOneAttributeMapping tableGroup creation 2021-10-19 13:13:47 +02:00
Andrea Boriero fa694c5d41 Re-enabled additional tests 2021-10-19 13:13:47 +02:00
Andrea Boriero 563ee45530 Fix delayed entity fetch loading trying to instantiate abstract class 2021-10-19 13:13:47 +02:00
Andrea Boriero 7eccda9f36 Fix java.lang.ClassCastException: org.hibernate.internal.StatelessSessionImpl cannot be cast to org.hibernate.event.spi.EventSource 2021-10-19 13:13:47 +02:00
Christian Beikov a3920e5892 Small test fixes. Fix unwraps and mutation strategy configuration 2021-10-19 11:12:26 +02:00
Sanne Grinovero 9dd6cd06c9 HHH-14882 StandardStack needs to support null entries 2021-10-18 13:11:46 +01:00
Sanne Grinovero ef3fe11ae6 HHH-14882 Minor implementation optimisations in internal StandardStack
The current StandardStack implementation is based on a LinkedList, which is well known to be a suboptimal choice; this should be switched to a lazily allocated ArrayDeque.
2021-10-18 13:11:46 +01:00
Sanne Grinovero 6008264711 HHH-14816 Optimise LockMode#fromExternalForm for common case 2021-10-18 12:19:44 +01:00
Sanne Grinovero 3bee3a1c79 HHH-14816 Minor refactoring of LockModeTypeHelper conversions 2021-10-18 12:19:44 +01:00
Dariush Moshiri 8e0f0b4123 HHH-14816 Can not set lock mode with QueryHint due to type case problem 2021-10-18 12:19:44 +01:00
Andrea Boriero c545cee28c Merge remote-tracking branch 'upstream/main' into wip/6.0_merge 2021-10-15 12:07:14 +02:00
Yoann Rodière 8afce5b5ed HHH-14869 Fix CallbackRegistryImpl#registerCallbacks considering all given callbacks have the same type 2021-10-15 10:05:29 +02:00
Yoann Rodière 965f5bd925 HHH-14869 Extract JPA listener definitions when building metadata rather than when creating the SessionFactory 2021-10-15 10:05:29 +02:00
Andrea Boriero 7b5e8de7bf Merge remote-tracking branch 'upstream/main' into wip/6.0_merge 2021-10-14 18:45:09 +02:00
Yoann Rodière 97f75f2aeb HHH-14881 Test attribute converters provided through CDI and configured through orm.xml 2021-10-14 17:07:29 +02:00
Yoann Rodière 7cc0c8370b HHH-14881 Allow providing attribute converters through CDI when configured through orm.xml 2021-10-14 17:07:29 +02:00
Yoann Rodière fc636995c3 HHH-14880 orm.xml: Take into account <package> for <converter class="..."> 2021-10-14 15:22:40 +02:00
Andrea Boriero 4323f9f011 HHH-14874 Lazy loading of basic attributes in different @LazyGroups throws ArrayIndexOutOfBoundsException 2021-10-13 18:33:19 +02:00
Andrea Boriero 3b47b85ce8 HHH-14874 Add test for issue 2021-10-13 18:33:19 +02:00
Andrea Boriero cc31223b78 Re-enabled additional tests 2021-10-13 18:33:19 +02:00
Andrea Boriero 4543ab176b Re-enabled additional tests 2021-10-12 15:20:24 +02:00
Andrea Boriero 5f6e53334c HHH-13766 Add test for issue 2021-10-12 13:47:09 +02:00
Andrea Boriero 9b48207ba0 Re-enabled additional test 2021-10-12 12:09:15 +02:00
Andrea Boriero 6b5cb2cfc4 Merge remote-tracking branch 'upstream/main' into wip/6.0 2021-10-12 11:49:54 +02:00
Yoann Rodière e93d33be16 Have SessionFactory#getMetamodel() return a JpaMetamodel
It just makes sense, since JpaMetamodel is Hibernate ORM's
extension of jakarta.persistence.metamodel.Metamodel,
and SessionFactory#getMetamodel() is Hibernate ORM's extension
of EntityManager#getMetamodel().
2021-10-11 17:40:30 -05:00
Yoann Rodière a16305e01f Minor cleanup of MappingMetamodelImpl 2021-10-11 17:40:30 -05:00
Yoann Rodière 0c27e3428d Remove a few redundant method overrides in metamodel interfaces 2021-10-11 17:40:30 -05:00
Steve Ebersole 0be2bcc0ca make Antlr runtime an explicit implementation dependency 2021-10-11 13:55:56 -05:00
Steve Ebersole 48068e0311 HHH-14857 Deprecations in preparation for 6 2021-10-11 19:36:23 +01:00
Steve Ebersole cbb6b3820b clean-up from rebase 2021-10-11 13:13:53 -05:00
Steve Ebersole 686d8fcbf1 HHH-14870 - Rename {Xyz}TypeDescriptor as {Xyz}Type
* `JavaTypeDescriptor` -> `JavaType`
* `JdbcTypeDescriptor` -> `JdbcType`
2021-10-11 13:13:13 -05:00
Steve Ebersole 3a0065eea4 HHH-14870 - Rename {Xyz}TypeDescriptor as {Xyz}Type
* `JavaTypeDescriptor` -> `JavaType`
* `JdbcTypeDescriptor` -> `JdbcType`
2021-10-11 13:11:32 -05:00
Steve Ebersole 7b61966882 dropped no-longer-used no-op impls intended for annotations 2021-10-11 12:10:43 -05:00
Christian Beikov ba350d13c6 Handle TimeZoneStorage annotation 2021-10-11 16:11:46 +02:00
Christian Beikov 548df627e6 Implement global configuration and sketch out annotations for time zone storage configuration. Move type tests and add skips for some tests running into H2 bugs. Also, fix some jdbc type assertion tests 2021-10-11 16:11:46 +02:00
Christian Beikov 597f4bdf6a Get rid of JdbcTypeDescriptor remapping 2021-10-11 16:11:46 +02:00
Yoann Rodière 88a0afc8e2 HHH-13295 Test @EmbeddedId + @MapsId targeting a derived entity 2021-10-11 11:13:19 +01:00
Yoann Rodière 7906a27b6a HHH-13295 Always perform @MapsId's second pass after entity ID second passes 2021-10-11 11:13:19 +01:00
Steve Ebersole ac1a30f808 HHH-12623 - Improve Javadoc comments for QueryHints.html#NATIVE_SPACES 2021-10-09 08:10:53 -05:00
Steve Ebersole fbba2d49a9 test failures from custom-type work 2021-10-08 09:46:53 -05:00