Commit Graph

5935 Commits

Author SHA1 Message Date
Sanne Grinovero 2eaa0f8c67 HHH-14447 Remove unneccessary type check 2021-02-09 13:35:44 +01:00
Sanne Grinovero 81a9b87ec1 HHH-14447 Add missing EventGroupListeners into FastSessionService and take advantage of them 2021-02-09 13:00:45 +01:00
Yoann Rodière 14e181806f HHH-14444 Encapsulate ID generation in GenerationState for PooledLoThreadLocalOptimizer
This is just a cosmetic change, it doesn't change the behavior at all.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Yoann Rodière 511dda7dee HHH-14444 Avoid synchronization for multi-tenant generation in PooledLoThreadLocalOptimizer
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Yoann Rodière 5c155f3f8d HHH-14444 Avoid synchronization for single-tenant generation in PooledLoThreadLocalOptimizer
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Yoann Rodière 04a40f8397 HHH-14444 Test concurrent usage of ID generator optimizers
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Andrea Boriero a094e17d2a HHH-14445 Javassist skip EntityWithMutableAttributesTest, LoadAndUpdateEntitiesWithCollectionsTest, SimpleDynamicUpdateTest, SimpleDynamicUpdateTest 2021-02-08 16:26:09 +01:00
Andrea Boriero cfc7b97250 HHH-14424 When enhanced as a proxy is enabled with dirty checking, on flush uninitialized entities containing collections are updated and all the fields are set to null 2021-02-04 14:09:25 +01:00
Andrea Boriero 26a46b2010 HHH-14424 Add test for issue 2021-02-04 14:09:25 +01:00
Nathan Xu 2cf9ec856c HHH-14384 Fix QueryProducer.createNativeQuery documentation 2021-02-04 11:16:26 +01:00
Gavin King d5b0c167c8 on H2 after 2.0 don't need column type workaround
Apparently H2 correctly reports column types via JDBC metadata
since 2.0, so this workaround is unnecessary.

Also add a default mapping for DECIMAL in superclass, just for
completeness.

cc @famod
2021-02-04 10:34:18 +01:00
Christian Beikov b3ab4c2299 Fix newly added tests for derby 2021-02-03 17:03:47 +01:00
Christian Beikov 1983123d72 Use a shared connection provider for most tests to reduce test time significantly 2021-02-03 17:03:47 +01:00
Christian Beikov 709ac039d1 Drop TypeConfigurationRegistry which was leaking session factories that had a bootstrap error
As far as I can tell, the purpose of TypeConfigurationRegistry was only for serialization, but since the TypeConfiguration UUID is always random, this won't work anyway.
2021-02-03 17:03:47 +01:00
Christian Beikov ffe45ccdd6 Register transaction coordinator as observer when session is waiting for auto close but coordinator is not shared 2021-02-03 17:03:47 +01:00
Christian Beikov 9f460e1c30 HHH-14432 Implement cleanup for EntityManagerFactoryBuilderImpl to close connections on bootstrap errors 2021-02-03 17:03:47 +01:00
Christian Beikov 21c89240d0 HHH-14435 Improve table information extraction (especially for Oracle with enableSynonyms)
Previously Oracle with enableSynonyms ran into a timeout on CI because the JDBC driver issues a rather expensive query. The new implementation issues a dummy query and uses the result set metadata as suggested in various online articles about schema introspection
2021-02-03 17:03:47 +01:00
Christian Beikov a8cddb93e8 HHH-14434 Fix autocommit reset for connection used in DdlTransactionIsolatorNonJtaImpl 2021-02-03 17:03:47 +01:00
Christian Beikov 9135f69c91 HHH-14433 Add possibility to drop local temporary tables to enable connection pooling in tests 2021-02-03 17:03:47 +01:00
Christian Beikov d767d46d05 Fix most tests to work on all DBs and fix a bunch of connection leaks 2021-02-03 17:03:47 +01:00
Christian Beikov 5d9f6936ff HHH-14351 Fix order by type discriminator rendering issue 2021-02-03 17:02:59 +01:00
Christian Beikov d2036cb11a HHH-14351 Test showing that order by type discriminator desc fails 2021-02-03 17:02:59 +01:00
Christian Beikov 52785ce0ed HHH-14408 Defer property type access until integrators ran 2021-02-03 15:18:50 +01:00
Christian Beikov 6fcb83c90d HHH-14408 Test that user type provided by integrator is properly registered 2021-02-03 15:18:50 +01:00
Andrea Boriero d213d675ce HHH-13658 fix failing test on Oracle 2021-02-03 10:11:53 +01:00
Sanne Grinovero 22f858c68b HHH-14428 Could avoid allocating an org.hibernate.internal.SessionFactoryImpl when no options are set 2021-02-01 22:26:38 +00:00
Sanne Grinovero 15d418c332 HHH-14386 Fails to boot if provided CurrentTenantIdentifierResolver is unable to operate during bootstrap 2021-02-01 22:26:38 +00:00
Gail Badner 0e75b4f3b5 HHH-13944 : Added "join fetch" and one-to-many test cases 2021-02-01 14:05:10 -08:00
Andrea Boriero 20008b19bc HHH-13944 HQL/JPQL size() does not work (anymore) with nested expression 2021-02-01 14:05:10 -08:00
Andrea Boriero c99904a606 HHH-13944 Add test for issue 2021-02-01 14:05:10 -08:00
Alexander Iskuskov 19d46d2fed HHH-14421 Fix javadoc for Query.stream() method 2021-02-01 21:43:40 +00:00
Sanne Grinovero 5881b88173 HHH-14418 Revert to previous semantics: EventListenerGroup#clear() to also get rid of the default DuplicationStrategy 2021-01-28 22:20:33 +00:00
Sanne Grinovero 6fa09dd4db HHH-14418 Reduce memory retention of each EventListenerGroup 2021-01-26 10:02:27 +00:00
Yoann Rodière 4c9c2a809a HHH-14404 Remove check for concurrent execution of LogicalConnectionManagedImpl#releaseConnection
It's unlikely to ever happen, and even if it happened, the resulting
exception would probably be rather clear about the fact that the problem
is related to concurrent execution (ConcurrentModificationException
thrown by a Map of resources, for example).

See
https://github.com/hibernate/hibernate-orm/pull/3693#discussion_r560393293

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière 8210bc220b HHH-14404 Test setting the connection handling mode through SessionBuilder
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière d0b44c48ef HHH-14404 Take into account the connectionHandlingMode passed through SessionBuilder
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière d726dcb394 HHH-14326 Test JDBC resources are released before closing the connection
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière e5c830da19 HHH-14326 Always close the connection even if releasing JDBC resources fails
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière 74433cdec3 HHH-14326 Release JDBC resources before closing the connection
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Nathan Xu 1e5d64cf79 HHH-14407 NPE in Column.getSqlTypeCode(Mapping mapping) for column 'hib_sess_id' when using PersistentTableBulkIdStrategy 2021-01-15 08:08:14 +01:00
Gail Badner 602926bf9b HHH-13658 : Remove @LazyToOne(NO_PROXY) from classes used with bytecode-proxies enabled. FetchGraphTest#testRandomAccess failed so it was marked @FailureExpected. 2021-01-13 16:13:54 -08:00
Steve Ebersole 0c974991f7 HHH-13658 : make NO_PROXY unnecessary
- Better handle `FetchModeType#LAZY` for to-one associations based on whether bytecode-enhancement-as-proxy is enabled.  Minimize the cases a user is likely to need to use `@LazyToOne`
- See also EAP7-1402
2021-01-13 12:03:44 -06:00
Yanming Zhou 633d0f08d6 HHH-14229 Fix unexpected foreign key creation
before this commit, foreign key is created even ConstraintMode.NO_CONSTRAINT present on the @ManyToOne side
2021-01-11 14:23:35 -08:00
Gail Badner b40d1251e3 HHH-14390 : Added test cases 2021-01-05 19:47:14 -08:00
Gail Badner 30fcb05795 HHH-14389 : Added test case. OneToOneWithDerivedIdentityTest#testFindById reproduces the bug and is annotated with @FailureExpected 2021-01-05 12:32:29 -08:00
Sanne Grinovero 016625eb5d HHH-14385 Allow specifying a target JVM version for compatibility of generated proxies via ByteBuddy 2020-12-22 18:01:27 +00:00
Christian Beikov 9c69ddc8f1 HHH-14380 - Only reorder destination from elements from the same from clause 2020-12-20 10:52:20 +01:00
Jan-Willem Gmelig Meyling 34bacba59e HHH-14380 Test case from https://github.com/Blazebit/blaze-persistence/pull/1237 for subquery in on-clause 2020-12-20 10:52:20 +01:00
jiangHZ cc14c785b9 HHH-13913 An SQL Dialect for PostgreSQL 10 and later. Adds support for Partition table. 2020-12-16 14:39:17 +01:00
Yanming Zhou c9ade2affe HHH-14356 Avoid NPE when booting with xml_mapping_enabled=false
Introduced by HHH-14334
when use Envers with hibernate.xml_mapping_enabled=false
see 34151a9660 (r44735539)
2020-12-14 16:26:12 +00:00
Yoann Rodière 6396cd17a2 HHH-14371 Open java.base/java.lang to the unnamed module in javassist tests
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-12-14 14:02:18 +00:00
Yoann Rodière 7f518cddb3 HHH-14371 Move tests specific to Javassist to the appropriate source set
Otherwise they won't be executed with the appropriate JVM args.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-12-14 14:02:18 +00:00
Yoann Rodière 8e3bf43a18 HHH-14371 Open java.base/java.security and java/base/java.lang to the unnamed module in tests
Weld needs this, in CDI tests.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-12-14 14:02:18 +00:00
Yoann Rodière 27c5980a20 HHH-14371 Open java.base/java.nio.charset to the unnamed module in tests
NamingHelper test needs access to Charset.defaultCharset.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-12-14 14:02:18 +00:00
Yoann Rodière f6a9338f97 HHH-14371 Correctly set JVM args in the JVM running tests
Turns out getJvmArgs() returns a copy, so modifying that copy won't
change the JVM args.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-12-14 14:02:18 +00:00
Andrea Boriero f468666b6d HHH-14360 Fix failure on Oracle db 2020-12-11 17:16:29 +01:00
Christian Beikov c915168cf1 HHH-14360 Test a fix for NPE due to non-existing previous state in bytecode enhanced dirty attribute resolving 2020-12-09 11:46:43 +01:00
Andrea Boriero dbec10aff1 HHH-14364 UpdateDetachedTest#testUpdateDetachedWithAttachedPersistentSet failing when run on OracleDB 2020-12-08 16:04:07 +01:00
Andrea Boriero bdc3a5cdc7 HHH-14363 MutableTypeEnhancementTestCase failing when run on Oracle DB 2020-12-08 15:45:37 +01:00
Andrea Boriero cf9d4ec3b3 HHH-14242 Fix issue for Dialects supporting row value constructor Syntax but not in the SET clause 2020-11-30 20:59:01 +00:00
Andrea Boriero e7bcc03ede HHH-14251 Fix issue for Dialects not supporting row value constructor Syntax 2020-11-30 20:58:50 +00:00
Andrea Boriero 9376650097 HHH-14251 Invalid SQL for @Embedded UPDATE 2020-11-30 20:58:44 +00:00
Andrea Boriero 900da12419 HHH-14251 Add test for issue 2020-11-30 20:58:37 +00:00
nicklas.wallgren 53a5c7fa97 HHH-14350 MariaDB103Dialect requires the lock wait timeout to be expressed in seconds 2020-11-30 20:38:39 +00:00
Michael Edgar 3de7fb653e HHH-14346 Check declaredPluralAttributes for null before access 2020-11-30 18:49:55 +00:00
Christian Beikov 8ded205b5f HHH-14343 Fix quoting of column names when globally quoted identifiers is active 2020-11-30 17:35:41 +00:00
info@kawoolutions.com 3434293a7e Test case for HHH-14343 2020-11-30 17:35:41 +00:00
Christian Beikov e2dbf52abe Restore collectionsInDefaultFetchGroupEnabled usage in LazyAttributesMetadata 2020-11-30 17:17:58 +00:00
Christian Beikov b08fbdaa6e HHH-14348 Special handling in bytecode enhancement for lazy PersistentCollection fields 2020-11-30 17:17:58 +00:00
Christian Beikov a975fbf5d4 HHH-14319 Create new collection rather than clearing original which is backing PersistentCollection entry of session 2020-11-23 13:23:02 +01:00
Christian Beikov 966d07c2d1 HHH-14319 Test case showing CollectionType.replaceElements wrongly clears backing collection 2020-11-23 13:23:02 +01:00
Yanming Zhou 97b67603ac HHH-14334 Make dom4j jaxb-api optional as possible
dependency dom4j and jaxb-api is optional if xml mapping disabled
continuation of HHH-13204
2020-11-20 16:17:26 +00:00
Christian Beikov 095eef2dcb HHH-14335 Remember the resolved type in SimpleValue#getType instead of resolving multiple times 2020-11-20 10:02:33 +00:00
Sanne Grinovero 93b8095ef6 HHH-14333 Pessimistic Lock causes FOR UPDATE on outer join statements 2020-11-17 20:08:29 +00:00
Sanne Grinovero 4aa7b84a86 HHH-14332 Make it easier for Quarkus SPI to avoid loading XML related resources 2020-11-17 18:01:02 +00:00
Sanne Grinovero 6b55f8ea09 HHH-14329 Amend existing DirtyTrackingTest 2020-11-17 16:11:29 +01:00
Christian Beikov e891a0296c HHH-14329 consider mutable types always as potentially dirty when using DirtinessTracker 2020-11-17 13:22:38 +01:00
Christian Beikov b15974732b HHH-14329 test case showing that DirtinessTracker usage for enhanced entities doesn't respect mutable types 2020-11-17 12:31:00 +01:00
Steve Ebersole be70d49df9 HHH-14325 - Add Query hint for specifying "query spaces" for native queries 2020-11-16 10:34:43 -06:00
Steve Ebersole 37a8d22155 HHH-14325 - Add Query hint for specifying "query spaces" for native queries 2020-11-16 10:32:00 -06:00
Sanne Grinovero f9cce5a767 HHH-14276 Amend style and formatting 2020-11-16 12:12:49 +00:00
Christian Beikov d1ee641e54 HHH-14276 Avoid quoting column name for looking up references during composite identifier second pass 2020-11-16 11:02:34 +00:00
info@kawoolutions.com 04ade27f07 HHH-14276 test case for strange AnnotationException: MapsId in IdClass context 2020-11-16 11:02:34 +00:00
Christian Beikov 8e8844d485 HHH-14322 Fix HBM many-to-one property ref support 2020-11-16 10:07:39 +00:00
Andrea Boriero 3d28893d9a HHH-14257 An Entity A with a map collection having as index an Embeddable with a an association to the Entity A fails with a NPE 2020-11-16 09:12:30 +00:00
Andrea Boriero 64aa8ae60a HHH-14257 Add test for issue 2020-11-16 09:12:30 +00:00
Andrea Boriero 59fede7aca HHH-14225 CVE-2020-25638 Potential for SQL injection on use_sql_comments logging enabled 2020-11-13 13:52:15 +00:00
Steve Ebersole b296459851 HHH-14312 - entity graph is ignored for 'padded' and 'dynamic' batch style entity loader
- Adjusted multi-loading to use LoadPlans (and apply entity-graphs) as well.
- All of the loaders/builder in `org.hibernate.loader.entity` are now no longer used, superseded by `org.hibernate.loader.entity.plan`.  Removed no longer needed code.
- Adjusted multi-load tests that relied on the actual generated SQL *String* - they now explicitly count the number of parameters and use that for assertions
2020-11-11 10:40:59 -06:00
Steve Ebersole 0b2fb4e28b HHH-14312 - entity graph is ignored for 'padded' and 'dynamic' batch style entity loader
- completed fix for HHH-11970
2020-11-11 07:55:41 -06:00
Steve Ebersole 13fb23d44e HHH-14312 - entity graph is ignored for 'padded' and 'dynamic' batch style entity loader 2020-11-10 16:16:33 -06:00
Nathan Xu c874618d30 HHH-14312 fix issue entity graph is ignored for 'padded' batch style entity loader 2020-11-10 16:16:33 -06:00
Andrea Boriero e67874e6ec HHH-13310 getParameterValue() not working for collections 2020-11-10 19:02:01 +00:00
Andrea Boriero 2d7aaa198b HHH-13310 Add test for issue 2020-11-10 19:02:01 +00:00
Yoann Rodière 85b84ef6bd HHH-14315 Force JVM options when using toolchains
Apparently Gradle won't just use the same options as in its own JVM.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-11-10 11:02:08 +00:00
Yoann Rodière 9616e24c80 HHH-14315 Add optional support for toolchains to the Gradle build
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2020-11-10 11:02:08 +00:00
Christian Beikov 555299abf1 HHH-14214 Remove unnecessary rule for token type SQL_NODE 2020-11-10 11:43:11 +01:00
Guillaume Smet a393cbd7f5 HHH-14316 Avoid accessing state in DriverManagerConnectionProviderImpl if null 2020-11-09 15:15:06 +00:00
David Ellingsworth 1c6e2b4efb HHH-14216 Add new lines to the end of new files. 2020-11-04 09:25:20 -07:00
David Ellingsworth 24035d7f2c HHH-14216 Implement isDirty for OneToOneType and always check if it is dirty or not. 2020-11-04 09:25:20 -07:00
David Ellingsworth ef5c944c86 HHH-14216 Fix the assemble/disassemble methods of the OneToOneType. 2020-11-04 09:25:20 -07:00
David Ellingsworth aec21d21f8 HHH-14216 Add one-to-one second level cache tests. 2020-11-04 09:25:20 -07:00
Steve Ebersole f45a88cb07 Fixed Javadoc for `BulkOperationCleanupAction.affectedEntity`
- plus minor cleanups
2020-11-03 15:13:09 -06:00
Sanne Grinovero 67fd24ecff Make new EntityLoader buildling methods in AbstractEntityPersister protected for Hibernate Reactive 2020-11-01 23:24:22 +00:00
Sanne Grinovero e6ac4d4876 HHH-14305 Memory optimisations for ReaderCollector implementations 2020-11-01 22:05:57 +00:00
Sanne Grinovero da700f619b HHH-14305 Memory optimisations for EntityMetamodel 2020-11-01 22:05:49 +00:00
Sanne Grinovero 345b503f21 HHH-14305 Memory optimisations for NamedQueryRepository 2020-11-01 22:05:44 +00:00
Sanne Grinovero ad5bec0a54 HHH-14305 Memory optimisations for AbstractEntityPersister#uniqueKeyLoaders 2020-11-01 22:05:40 +00:00
Sanne Grinovero 9f54dae5d2 HHH-14305 Memory optimisation for AbstractPropertyMapping#duplicateIncompatiblePaths 2020-11-01 22:05:35 +00:00
Sanne Grinovero 35c58e9877 HHH-14305 Memory optimisations for AbstractManagedType#declaredPluralAttributes 2020-11-01 22:05:23 +00:00
Sanne Grinovero 2dde4c1710 HHH-14305 Memory optimisation for AbstractEntityPersister#affectingFetchProfileNames 2020-11-01 22:05:16 +00:00
Sanne Grinovero 169a01857c HHH-14305 Reduce memory consumption of AbstractEntityPersister#attributeDefinitions 2020-11-01 22:05:10 +00:00
Sanne Grinovero e9278288a7 HHH-14305 Reduce retained memory consumption of SingleTableEntityPersister 2020-11-01 22:05:03 +00:00
Sanne Grinovero 820fe56aa4 HHH-14305 Memory savings in SingleTableEntityPersister 2020-11-01 22:04:56 +00:00
Sanne Grinovero 0dedcd05db HHH-14305 Avoid referring to an empty ArrayList for AbstractEntityPersister#lobProperties 2020-11-01 22:04:50 +00:00
Sanne Grinovero fb34b720bc HHH-14305 Introduce new method in CollectionsHelper to reduce size of long lived collections 2020-11-01 22:04:47 +00:00
Sanne Grinovero 250db69e8e HHH-14305 Remove unused logger 2020-11-01 22:04:42 +00:00
Sanne Grinovero 81d526e4db HHH-14271 Lazy initialization of UniqueEntityLoader for most LockMode types 2020-11-01 19:31:49 +00:00
Sanne Grinovero c60765a528 HHH-14304 Replacing eager initialization of LockingStrategy within AbstractEntityPersister
And introducing a new ad-hoc collection LazyIndexedMap, useful to
lazily initialize elements which can be indexed by int, such
as the ordinal of enums.
2020-11-01 19:31:43 +00:00
Christian Beikov b24a3cbf2d HHH-14279 Fix join ordering issue that happens for entity key joins when using a WITH/ON clause 2020-10-29 10:26:58 +01:00
Laurent Almeras 4ffb768a7a HHH-14279 Testcase showing key join order is messed up 2020-10-29 10:26:58 +01:00
Sanne Grinovero 6b58d54057 HHH-14293 Reset the ReflectionManager state after SessionFactory is initialized 2020-10-28 16:54:06 +00:00
Sanne Grinovero f3396805d4 HHH-14293 JPAMetadataProvider needs to be able to reset its internal caches 2020-10-28 16:54:01 +00:00
Sanne Grinovero 67a2ed17ca HHH-14292 Avoid defensive copy for keywords set in NormalizingIdentifierHelperImpl 2020-10-28 15:51:49 +00:00
Steve Ebersole 18b3def741 HHH-14291 - Minor changes for NativeQuery and BulkOperationCleanupAction 2020-10-28 10:00:30 -05:00
Sanne Grinovero 503c48cbc7 HHH-14290 Remove capability of loading classes by name from HCANN 2020-10-27 07:13:02 +00:00
Sanne Grinovero a0e4ab72ec HHH-14290 Adjust HCANNHelper to benefit from HCANN-99 2020-10-27 06:34:19 +00:00
Sanne Grinovero abf42f4db0 HHH-14289 Detection of JDBC support for RefCursors was returning false even for Oracle JDBC drivers supporting it 2020-10-26 18:24:23 +00:00
Sanne Grinovero ad6584ff10 HHH-10715 Deleting more dead code 2020-10-25 21:33:30 +00:00
Sanne Grinovero 5b6f3ff3b8 HHH-10715 Remove unused logger instance 2020-10-25 21:33:28 +00:00
Sanne Grinovero e3edcdbe55 HHH-10715 More static and final keywords missing 2020-10-25 21:33:23 +00:00
Sanne Grinovero a7629c4382 HHH-10715 Missing null check after File.listFiles 2020-10-25 21:33:20 +00:00
Sanne Grinovero b518df7da4 HHH-10715 Unreleased statement in IdTableHelper 2020-10-25 21:33:18 +00:00
Sanne Grinovero 96209e0ff6 HHH-10715 A couple of missing final keywords 2020-10-25 21:33:15 +00:00
Sanne Grinovero b13a116a6e HHH-10715 Dead code eliminated 2020-10-25 21:33:13 +00:00
Sanne Grinovero 111e551dcd HHH-10715 Dead code elimination 2020-10-25 21:33:02 +00:00
Sanne Grinovero ba0bf0d619 HHH-10715 Make IdentifierProperty immutable 2020-10-25 21:32:56 +00:00
Sanne Grinovero 7870329b77 HHH-14282 StandardRefCursorSupport can rely on having JDK8 as baseline today 2020-10-25 21:31:17 +00:00
Sanne Grinovero 5091203426 HHH-14278 No longer use the AssertionFailure and StringHelper implementations from HCANN 2020-10-22 20:10:28 +01:00
Andrea Boriero fa5078a915 HHH-14245 ClassCastException for Criteria Collection size selection 2020-10-21 14:45:34 +01:00
Andrea Boriero 98168bd066 HHH-14245 Add test for issue 2020-10-21 14:41:04 +01:00
Scott Marlow dbd13e1389 HHH-14196 Add parsing of persistence.xml/orm.xml documents in the EE 9 namespace
Signed-off-by: Scott Marlow <smarlow@redhat.com>
2020-10-20 15:56:11 +01:00
Sanne Grinovero 97d101b742 HHH-14269 Confusing method names unableToObjectConnectionMetadata and unableToObjectConnectionToQueryMetadata 2020-10-20 12:40:25 +01:00
Daniel Wu d9ec18fad7 HHH-14268 Include stacktrace at WARN level in case of an error occurs when getting the connection metadata 2020-10-20 12:12:48 +01:00
Nathan Xu f17c0f7a03 HHH-14234 fix CI building error on non-H2 dialect 2020-10-19 16:17:37 +02:00
Nathan Xu f8fb0b0069 HHH-14234 fix CI building error on HANA dialect 2020-10-19 08:49:06 +02:00
Nathan Xu 5b8bae5cc7 HHH-14234 fix issue denormalized table should not inherit indexes from parent table 2020-10-18 16:29:08 +02:00
Nathan Xu 962884a8dd HHH-14264 fix bug that entity graph cannot be applied to child entity class 2020-10-18 11:53:16 +02:00
Yanming Zhou 88acc9511b HHH-14253 support ConstraintMode.PROVIDER_DEFAULT
Provide an option to skip foreign key creation for ConstraintMode.PROVIDER_DEFAULT
2020-10-14 09:20:17 +02:00
Jan Schatteman 8d4de09255 HHH-14241 Support ImplicitNamingStrategyComponentPathImpl with IdClass
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2020-10-09 13:24:17 +02:00
Fabio Massimo Ercoli 03416a8cdd HHH-14241 Test ImplicitNamingStrategyComponentPathImpl with IdClass 2020-10-09 13:24:17 +02:00
Nathan Xu 3a88b1c6b2 HHH-14248 Other minor improvements to ActionQueue 2020-10-08 08:19:49 +01:00
Nathan Xu c3e43ecd11 HHH-14248 Refactor latestBatches from InsertActionSorter's field to temporary variable in its sort method 2020-10-08 08:19:40 +01:00
Andrea Boriero 112d215371 HHH-14249 MultiLineImport fails when script contains blank spaces or tabs at the end of the last sql statement 2020-10-07 08:54:48 +01:00
Andrea Boriero 425ee2d3d5 HHH-14249 Add test for issue 2020-10-07 08:54:48 +01:00
Nathan Xu 05f47ce80b HHH-14227 fix testing failure on Oracle 2020-10-06 08:56:38 +01:00
Nathan Xu d045797aa7 HHH-14227 Add some more tests to cover order of batched insert executions 2020-10-05 13:40:08 +01:00
Nathan Xu 9de5e3e005 HHH-14227 Some additional typos and message improvements 2020-10-05 13:40:08 +01:00
Nathan Xu de6736ba32 HHH-14227 Insert statements are not ordered with entities that use inheritance and reference a subclass 2020-10-05 13:40:08 +01:00
Nathan Xu 733ece81f4 HHH-14231 Fix ClassCastException in ScrollableResultsImpl for primitive array value 2020-09-30 17:56:29 +01:00
Dmitry Gusev 77cf9d5108 HHH-14242 Micro optimisations of ActionQueue: redundant branch evaluation 2020-09-30 17:27:12 +01:00
Sanne Grinovero 71ef49d6b1 Revert "HHH-14240 Stop generating fragments of SQL as uppercase"
This reverts commit 9ac29ab4dc.

See also https://github.com/hibernate/hibernate-orm/pull/3555#issuecomment-701472270
2020-09-30 17:10:42 +01:00
Sanne Grinovero 225e29d2b2 HHH-14217 Minor optimisations in the highlighting formatter implementation 2020-09-30 16:58:29 +01:00
Sanne Grinovero 916513a7eb HHH-14217 Code style 2020-09-30 16:51:27 +01:00
Gavin King cf995a1571 HHH-14217 Add syntax highlighting to the logged SQL
Using ANSI escape codes

Must be explicitly enabled using hibernate.highlight_sql
2020-09-30 16:39:12 +01:00
Gavin King 9ac29ab4dc HHH-14240 Stop generating fragments of SQL as uppercase 2020-09-30 16:17:59 +01:00
Gavin King 7f6479541d HHH-14203 DB2 requires the restrict keyword to drop the schema
The 'restrict' keyword is required on DB2.
2020-09-30 15:55:20 +01:00
Gavin King bc39df2812 HHH-14238 Option to include collection fields in the default fetch group
There is no good reason to lazily-instantiate a collection
wrapper, since that operation never requires access to the
database.

See discussion here:

   https://github.com/hibernate/hibernate-reactive/issues/374
2020-09-30 15:24:48 +01:00
Andrea Boriero 57004cdee7 HHH-14220 Fix failure with Oracle 2020-09-29 08:31:48 +01:00
Andrea Boriero a64f193fae HHH-14220 Skip test when bytecode provider is Javassist 2020-09-28 21:39:44 +01:00
Sanne Grinovero f2a742e3c4 HHH-14236 Improve efficiency of ForeignKeyKey 2020-09-28 16:10:10 +01:00
Andrea Boriero a6eaed2db6 HHH-14220 EnhancementException failure with MappedSuperclass with a un-mapped collection 2020-09-28 17:09:00 +02:00
Andrea Boriero 5b8f5aa756 HHH-14220 Add test for issue 2020-09-28 17:09:00 +02:00
Jan-Willem Gmelig Meyling ad80d0bb41 HHH-14223 - Consider formulaTemplates in ID mapping for formula dereference 2020-09-28 14:26:51 +02:00
kubo ac34d72161 HHH-14223 - nullpointer exception on @JoinFormula with implicit join 2020-09-28 14:26:51 +02:00
Yanming Zhou 23fdfa4d6a HHH-14230 Fix generics to avoid ClassCastException 2020-09-28 11:06:29 +01:00
seregamorph 9934baf90e HHH-13884 Order.reverse() contract 2020-09-28 08:17:59 +02:00
Christian Beikov 6d67efa339 HHH-14212 Rename trigger entity to avoid keyword collision on Oracle 2020-09-22 15:52:40 +02:00
Nathan Xu 99a4edfac0 HHH-14212 fix Fetch Graph by simply returning false in TwoPhaseLoad#getOverridingEager() when Fetch Graph is being enforced 2020-09-22 08:06:49 +02:00
Nathan Xu 39b42c0a6a HHH-14212 revert back HHH-8776 (retaining testing case) 2020-09-22 08:06:49 +02:00
Nathan Xu 7cfdd0609d HHH-14212 revert back HHH-14097 (retaining testing case) 2020-09-22 08:06:49 +02:00
Nathan Xu 4c5f94f917 HHH-14212 revert back HHH-14124 (retaining testing case) 2020-09-22 08:06:49 +02:00
Yanming Zhou 6fb52c4fcd HHH-14219 Fix duplicated rows of sequence table
if generator is shared by multiple entities
2020-09-21 12:23:39 +02:00
Nathan Xu f136dabe18 HHH-14218 fix some typos in code comments 2020-09-20 14:44:45 +02:00
Christian Beikov 7ef5336fec HHH-14201 Fix test issues of NaturalIdDereferenceTest 2020-09-14 17:06:49 +02:00
Christian Beikov 20e5a5659b HHH-14148 Fix ANTLR grammar non-determinism 2020-09-14 17:06:49 +02:00
Nathan Xu 886083ab77 HHH-14201 fix HQL JOIN order issue 2020-09-14 10:04:07 +02:00
Nathan Xu cf94259248 HHH-14148 fix issue mapping order SQL fragment could produce incorrect SQL 2020-09-14 10:00:21 +02:00
Nathan Xu f91ed82757 HHH-14213 fix query numeric literal (integer representation) parsing exception message 2020-09-14 09:43:05 +02:00
Gavin King f203bda5db HHH-14204 Schema validator should be more forgiving of column type mismatches 2020-09-09 18:01:34 +01:00
Nathan Xu 3846001907 HHH-14206 Auto-apply converter not applied to primitives 2020-09-09 16:37:23 +02:00
Falko Modler 1cf99c748a HHH-14031 Update h2 to 1.4.197
Notes:
- h2 1.4.197+ does not support ns precision by default anymore
- h2 DateTimeUtils.resetCalendar() is required for many tests to avoid failures due to h2 internal caching
2020-09-09 10:32:21 +01:00
Yanming Zhou 4499abd9a9 Replace StringBuffer with StringBuilder
avoid unnecessary synchronization
2020-09-09 07:55:00 +02:00
Andrea Boriero 7f6ead80cc HHH-14197 Fix MariaDB failing test 2020-09-07 14:18:42 +01:00
Andrea Boriero 6cc63d9289 HHH-14113 Fix oracle test failure 2020-09-07 09:30:53 +01:00
Nathan Xu 37a60ea8bb HHH-14197 Criteria API doubly-nested subquery generates invalid SQL - missing subquery root 2020-09-07 09:22:18 +02:00
Jan-Willem Gmelig Meyling 17d365ecf8 HHH-14198 - Expose CompositeUserTypes through JPA Metamodel
Composite User Types work like regular Composite Types (like Embeddable) in HQL. However, because they cannot be represented in the JPA metamodel, libraries like [GraphQL for JPA](https://github.com/jcrygier/graphql-jpa) or [Blaze-Persistence](https://persistence.blazebit.com/) cannot fully utilize them. In order to make the composite property names available to these libraries, it would be nice to optionally expose these attributes as embedded attributes. This pull request aims to make that change and makes it configurable through a custom setting.

Composite User Types are a common solution for mapping composite interfaces. A common example is for example `Money` from the Java Money API (JSR-354), for which composite user types are implemented in [Jadira](http://jadira.sourceforge.net/usertype-userguide.html).

I know Composite User Types are currently not consiered in Hibernate 6.x. See also [this](https://hibernate.zulipchat.com/#narrow/stream/132094-hibernate-orm-dev/topic/CompositeUserType) Zulip thread. I am not sure if Hibernate 6.x will even have multi column types, which I presume would be a requirement to even introduce Composite User types back at some point. Usually Embeddables are a much easier, suitable mechanism for composite user types. But Embeddables are not always a viable alternative, because Embeddables require the type to be subclassed (as an interface cannot be mapped, and the type may not solely comprise fields that can be mapped to a simple basic type). To deal with this exact problem, `MonetaryAmounts` are still mapped as composite user type. There also have been suggestions to the JPA Spec to consider `AttributeConverters` for Embeddables for pracitcally the same purpose (which I think is going to be a mess of an implementation). See: https://github.com/eclipse-ee4j/jpa-api/issues/105

Anyways, regardless of whether this gets integrated in 5.x, I don't expect it to be integrated in 6.x unless we also reintroduce Composite User Types. I am willing to contribute Composite User Types for 6.x if people see benefit in it and think it can be done in the first place.
2020-09-04 14:53:11 +02:00
Nathan Xu 6365204c48 HHH-13058 fix issue left join root cannot be replaced by correlated parent in subquery 2020-09-03 08:50:19 +02:00
Moritz Becker afd6818e55 HHH-13201 - mark local origin variable as final 2020-09-03 08:42:15 +02:00
Moritz Becker d97db034b4 HHH-13201 - reformat test 2020-09-03 08:42:15 +02:00
Moritz Becker 19af434b21 HHH-13201 - do not set empty text on collection join parent without queryable collection 2020-09-03 08:42:15 +02:00
Nathan Xu 162bc7d9dd HHH-14113 Entity Graph attribute resolution not based on selected entity 2020-09-01 20:20:54 +02:00
Andrea Boriero e8b6bbbef4 HHH-14178 Fix Hana test failures 2020-09-01 14:50:24 +01:00
Andrea Boriero efa7e66c73 HHH-14178 Fix oracle test failures 2020-09-01 11:27:02 +01:00
Nathan Xu 90be61210c HHH-11877 wrap CompoundPredicate's expression list 2020-08-31 16:17:32 +02:00
Nathan Xu e1ff70519a HHH-14178 Fix the issue collections visiting could be skipped (e.g., versioned entity) in AbstractSaveEventListener 2020-08-31 14:43:09 +02:00
Nathan Xu 41161f9fa9 HHH-13908 fix the issue MySQL's 'time' function issue in Criteria 2020-08-31 09:44:17 +02:00
Gavin King 5b9ec29ecb HHH-14153 refactoring after HHH-14153
- avoid use package-scoped instance felds
- remove copy/pasted code

Note: I don't hate package-scoped final fields, but I
know other folks tend to. So let's go with template
methods instead.
2020-08-27 09:53:22 +01:00
Gavin King 5daf440a6c HHH-14153 Make buildAppropriateStatementExecutor() protected
Hibernate Reactive might ultimately need to override
this method, though it doesn't right now.

Relates to HHH-14153.
2020-08-27 09:53:18 +01:00
Gavin King 5173071322 HHH-14153 add test
By NathanQingyangXu

See https://github.com/hibernate/hibernate-orm/pull/3508
2020-08-27 09:53:18 +01:00
Gavin King 423697026d HHH-14153 further optimization for single-table HQL update
This extends the optimization for single-table HQL bulk
updates to the case where the where clause touches multiple
tables and we can use a subselect to collect the ids that
we need to update.
2020-08-27 09:53:18 +01:00
Gavin King 264e71a916 HHH-14153 clean up BasicExecutor and friends
introduces InsertExecutor and UpdateExecutor since we're
going to be introducing specific optimizations relating
to single-table updates

relates to HHH-14153
2020-08-27 09:52:40 +01:00
Gavin King d1119d320a HHH-14153 optimize away temp table for single-table HQL update
When a HQL bulk update query only touches a single table,
use BasicExecutor instead of MultiTableUpdateExecutor.

This is an alternate implementation to the one proposed by
@NathanQingyangXu in #3508 and loosely based on that work.
2020-08-27 00:12:07 +02:00
Sanne Grinovero 59d40c3bf5 HHH-14193 MultipleLinesSqlCommandExtractor should tolerate empty input scripts 2020-08-26 22:29:07 +01:00
Steve Ebersole b9fcc63d84 HHH-14152 sql-script.g fix for antlr non deterministic warning
- Added "system"-style SqlScriptLogging
- Added rule trace logging through SqlScriptLogging
2020-08-26 08:56:19 -05:00
Andrea Boriero fe4a94d90c HHH-14152 sql-script.g fix for antlr non deterministic warning 2020-08-26 08:56:19 -05:00
Sanne Grinovero 28787bc013 HHH-14190 Method StringHelper#moveAndToBeginning could benefit from using the improved helper too 2020-08-26 12:46:12 +01:00
Sanne Grinovero 03a1bb5ac8 HHH-14190 Improve efficiency of StringHelper#isBlank 2020-08-26 12:44:05 +01:00
Gavin King 9c6805fdd3 HHH-14190 Rename isEmptyOrWhitespace() to isBlank()
and use it in more places
2020-08-26 12:44:01 +01:00
Andrea Boriero beabfecb3e HHH-14187 Lazy loading fails if an entity appears twice in the object graph when enhancement as proxy is enabled 2020-08-26 12:24:04 +02:00
Andrea Boriero dbca6a2291 HHH-14187 Add test for issue 2020-08-26 12:24:04 +02:00
Gavin King 9ded66b90f HHH-14181 Fix bug where HQL update/delete query resulted in same table being updated twice
for HQL bulk update/delete against union-subclass mapping

also clean up iterator usage in that section of code
2020-08-24 21:03:36 +01:00
Falko Modler e3063f4858 HHH-14179 fix MultiLineImportExtractorTest on Windows 2020-08-24 20:25:17 +01:00
Gavin King bb5a47086d HHH-14183 LocalTimeJavaDescriptor attempts casting to LocalDate 2020-08-24 19:20:21 +01:00
Jezza 153817f426 HHH-14175 StatefulPersistenceContext#getLoadedCollectionOwnerOrNull could NPE on missing CollectionEntry
Avoids NPE, as the collection entry could not exist.
2020-08-21 11:09:08 +01:00
Gavin King 5ecf45020f expose some private fields via getters for Hibernate Reactive
needed for https://github.com/hibernate/hibernate-reactive/issues/237
2020-08-20 09:30:14 -05:00
Guillaume Smet fe74ad4270 HHH-14160 Use a runtime used class for testing Bean Validation presence 2020-08-20 15:27:08 +01:00
Nathan Xu c778ccb3da HHH-14154 Incorrect SQL generated from Criteria API when concat() and function() methods are used together 2020-08-20 15:36:54 +02:00
Nathan Xu 2ab372027e HHH-14153 reserve end-of-line chars in MultiLineImportExtractor 2020-08-19 12:12:40 +02:00
Christian Beikov e1b821c6fb HHH-14156 - handle all H2 versions properly regarding tuple in subquery syntax 2020-08-18 12:50:48 +02:00
Nathan Xu be64851fee HHH-14156 IN subquery predicate with entity aliases produces wrong SQL "too few columns in subquery" 2020-08-18 12:50:48 +02:00
Nathan Xu 00d9c12f05 HHH-3326 fix temp table collation issue for SQLServer dialect 2020-08-17 15:04:48 +02:00
Sanne Grinovero fe3f27a733 HHH-14149 Improve efficiency of LazyAttributesMetadata#getLazyAttributeNames 2020-08-12 11:28:39 +02:00
Jay Paulsen cd7823a549 HHH-13380 Test for the issue 2020-08-12 10:20:27 +02:00
Sanne Grinovero 1d51898202 HHH-13380 Bytecode enhanced entities might throw LazyInitializationException from custom equals/hashcode implementations
Apparently we trigger the need to invoke equals/hashcode methods on managed entities just before the Session is attached to the BytecodeLazyAttributeInterceptor
2020-08-12 10:20:18 +02:00
Andrea Boriero 509db7cc79 HHH-14126 Add CockroachDB to DefaultDialectSelector and update documentation to mention the new dialect 2020-08-10 15:20:53 +02:00
Oliver Breidenbach e8f310a659 HHH-14109 Use 'in expression count limit' if calculated count is greather than 'in expression count limit' 2020-08-10 13:04:23 +02:00
Andrea Boriero a229590345 HHH-14129 Bidirectional relationship with @NotNull fails to save 2020-08-10 12:08:54 +02:00
Andrea Boriero 358f713700 HHH-14129 Add test for issue 2020-08-10 12:08:54 +02:00
Sanne Grinovero 212ba0fb33 HHH-14143 Detect illegal concurrent usage of LogicalConnectionManagedImpl 2020-08-10 11:57:16 +02:00
Gavin King 5ec07faffd HHH-14142 Make constructor of StatelessSessionImpl public
needed by Hibernate Reactive, see:

https://github.com/hibernate/hibernate-reactive/pull/310
https://hibernate.atlassian.net/browse/HHH-14142
2020-08-09 08:50:22 +02:00
Sanne Grinovero 6da11f4c2a HHH-14137 Some more string check performnance optimisations 2020-08-06 18:22:25 +02:00
Sanne Grinovero 5d4e7d0927 HHH-13974 Test efficiency improvements 2020-08-06 17:17:10 +02:00
Michael Spahn d19bb536ef HHH-13974 FlushMode set through SessionBuilder was never applied 2020-08-06 17:17:10 +02:00
Ihar Sadounikau 0ee25a416d HHH-14137 Empty String check performance improvements 2020-08-06 17:14:33 +02:00
Yoann Rodière 9323d426f1 HHH-14124 Test that the FETCH entitygraph semantic overrides EAGER associations to LAZY for all results 2020-07-30 13:34:41 +01:00
Yoann Rodière 1d965227c4 HHH-14124 Test that the FETCH entitygraph semantic overrides EAGER associations to LAZY 2020-07-30 13:34:41 +01:00
Yoann Rodière 6f6874b8cf HHH-14124 Avoid too many list allocations when hydrating query results
I suspect the original goal of having a single list of hydrated objects
for all rows was to avoid instantiating one list per row, but we did
just that in the fix in the last commit.

This introduces a hack to signal that we're starting to process a new
row while still keeping a flat, single-list structure: we inserting
null elements in the list of hydrated objects.

This is admittedly very ugly, but it's the only solution I can come up
with if we want to keep the number of memory allocations similar to what
we used to have. And hopefully this code will disappear in ORM 6.0.
2020-07-30 13:34:41 +01:00
Yoann Rodière bc26c564a4 HHH-14124 Work around side-effects of TwoPhaseLoad.initializeEntity 2020-07-30 13:34:41 +01:00
Oliver Saggau 20273b81ee HHH-14071 Add test cases for issue 2020-07-27 13:11:56 +01:00
Oliver Saggau f8fe50ad09 HHH-14071 Fix binding for FetchProfile for OneToOne(mappedBy=...) associations 2020-07-27 13:11:39 +01:00