Commit Graph

7361 Commits

Author SHA1 Message Date
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
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