Commit Graph

10777 Commits

Author SHA1 Message Date
Gavin King c74d6fa86f HHH-17006, HHH-13016 various refactorings/cleanups before fix
- Misc cleanups and fixes to incorrect generic typing of some operations
- Try to fix bodgy type inference algorithm for case/when expressions
2023-07-29 12:14:06 +02:00
Sanne Grinovero 1bc6b11ec5 HHH-16911 Ensure the PhantomReference doesn't get collected before having had a change to trigger 2023-07-28 11:39:18 -04:00
Sanne Grinovero ae934e72ee HHH-16911 Save some memory in CallbackRegistryImpl 2023-07-27 16:06:12 -04:00
Sanne Grinovero a9f77b4cfb HHH-16911 Ensure we don't leak references to JPA callbacks on SessionFactory close 2023-07-27 16:06:12 -04:00
Sanne Grinovero 4c3666babc HHH-16911 Integration test for SessionFactory using callbacks to not leak ClassLoader 2023-07-27 16:06:12 -04:00
Sanne Grinovero 5a215a146f HHH-16911 Integration test for empty SessionFactory to not leak the CL 2023-07-27 16:06:12 -04:00
Sanne Grinovero 9973c80a76 HHH-16911 Introduce a testing utility to spot ClassLoader leaks 2023-07-27 16:06:12 -04:00
Sanne Grinovero a03c947b5d HHH-16911 Introduce a testing utility to spot memory leaks 2023-07-27 16:06:12 -04:00
Sanne Grinovero dac96abd24 HHH-16911 MapBackedClassValue ClassLoader leak 2023-07-27 16:06:12 -04:00
Christian Beikov d213fff3de Make sure tests work with Oracle 11 2023-07-27 18:28:44 +02:00
Andrea Boriero 6c8cdb1b32 HHH-16816 Add test for issue 2023-07-27 14:09:45 +02:00
Sanne Grinovero d8363d720a HHH-17003 Race conditions in LazyLoadingConnectionCloseTest and ConnectionsReleaseAutoCommitTest 2023-07-27 05:22:38 -04:00
Andrea Boriero b561e64fca HHH-16959 Add test for issue 2023-07-27 10:40:24 +02:00
Andrea Boriero e2f92af59f HHH-16959 Fail to batch delete entities with nested embeddeds 2023-07-27 08:22:26 +02:00
Gavin King 9add83ec92 fix problem where Hibernate refused to instantiate non-public UserType
also:

- clean up some code with respect to generic typing
- improve some exception reporting
2023-07-26 16:40:07 +02:00
Andrea Boriero 0725022d79 HHH-16966 StackOverFlowError with @ManyToOne and @Proxy( lazy=false ) 2023-07-26 15:06:18 +02:00
gtoison 87096e5a0a HHH-16966 Test reproducing the issue 2023-07-26 15:06:18 +02:00
Laurent Klock bde1034aee HHH-16977 Fixed in NullPointerException in EntityEntryContext.downgradeLocks 2023-07-26 07:01:29 -04:00
Andrea Boriero c7bafd646a HHH-16895 @Check constraint not generated when annotated on entity 2023-07-26 12:10:22 +02:00
Andrea Boriero 9d8d626323 HHH-16895 Add test for issue 2023-07-26 12:10:22 +02:00
Andrea Boriero 9bb1327581 Revert "HHH-16959 Fail to batch delete entities with nested embeddeds"
This reverts commit 533c1cd22b.
2023-07-26 12:09:10 +02:00
Andrea Boriero 5ca06af029 Revert "HHH-16959 Add test for issue"
This reverts commit 6c767eab1f.
2023-07-26 12:08:56 +02:00
Andrea Boriero 533c1cd22b HHH-16959 Fail to batch delete entities with nested embeddeds 2023-07-26 12:04:05 +02:00
Andrea Boriero 6c767eab1f HHH-16959 Add test for issue 2023-07-26 12:04:05 +02:00
Adrodoc 148806fe2c HHH-16826: Refactor to avoid costly modulo operation for splitting in clauses
Co-authored-by: Christian Beikov <christian.beikov@gmail.com>
2023-07-26 11:50:51 +02:00
Adrodoc 68601df471 HHH-16826 - IN-Clause Parameter Padding should grow exponentially for Dialects with InExpressionCountLimit 2023-07-26 11:50:51 +02:00
Gavin King a438474f45 add some javadoc 2023-07-25 18:19:51 +02:00
Gavin King cbc572427d disable some tests on MySQL due to HHH-16989 2023-07-25 16:32:10 +02:00
Gavin King d3a1b4f33e add test for cast() with parameters in numeric expressions 2023-07-25 16:32:10 +02:00
Gavin King b53732d141 fix bug where parameters of cast target type were not passed along
This was yet another bug that resulted from what I've been warning about:
the use of untypesafe getChild() methods in SQB. So I've gone through and
removed even more of those, to further reduce the probability of this kind
of bug in the future.
2023-07-25 16:32:10 +02:00
Gavin King dfc282adb1 extremely minor cleanups to type descriptors 2023-07-25 16:32:10 +02:00
Christian Beikov e83008e75d Fix DB2 10.5 testsuite issues 2023-07-25 15:47:08 +02:00
Christian Beikov 1ba2203d7c Fix HANA and Oracle old testsuite failure due to id column only table with identity 2023-07-25 15:03:27 +02:00
Gavin King 7effc40e13 HHH-15939 test for fixed issue 2023-07-24 20:19:46 +02:00
Gavin King 05de3e487b clarify the semantics of hibernate.criteria.value_handling_mode 2023-07-24 18:31:50 +02:00
Andrea Boriero ec9747983d HHH-16825 Cascading an entity with a composite key causes NullPointerException in AbstractClassJavaType.extractHashCode 2023-07-24 17:58:45 +02:00
Andrea Boriero bf66bc7b78 HHH-16825 Add test for issue 2023-07-24 17:58:45 +02:00
Christian Beikov eb562d5078 HHH-16984 Disable use of arrays for batch and multi-loader on H2 2023-07-24 17:15:19 +02:00
Christian Beikov 90eb697020 HHH-16983 Avoid unnecessary allocations for HQL interpretation caching 2023-07-24 17:15:19 +02:00
Christian Beikov b9e5d3a6bc HHH-16982 Avoid unnecessary registerReloadedEntity calls 2023-07-24 17:15:19 +02:00
Christian Beikov 7915ad635a HHH-16981 Improve JdbcOperation caching 2023-07-24 17:15:19 +02:00
Gavin King 1d54f179b2 lightly reword javadoc for a setting 2023-07-24 14:28:03 +02:00
Gavin King 4057245de2 jdoc the default for a setting + add @since tags 2023-07-23 17:57:59 +02:00
Gavin King 6c435b02c9 support optional 'from' in @HQL query method generation
(as desired by Stef)
2023-07-23 15:51:14 +02:00
Gavin King 1c15267d3a HHH-16973 optional 'from' clause
(and cleanups to SQB)
2023-07-23 13:28:54 +02:00
Gavin King 2c5ee8f088 split UserComponentType out from ComponentType
and add CompositeType.replacePropertyValues()

this refactoring results in significant simplifications/cleanliness
2023-07-22 15:00:50 +02:00
Gavin King 47024e7bd5 miscellaneous code cleanups 2023-07-22 15:00:50 +02:00
Gavin King 57cbf2e16a update jdoc of @Find, @HQL, @SQL 2023-07-21 21:33:15 +02:00
Gavin King c15232141d add missing @since annotations 2023-07-21 21:33:15 +02:00
Gavin King 1d22d8e174 add some links to Javadoc overview 2023-07-21 21:33:15 +02:00
Sanne Grinovero a27f1e5cd8 HHH-16819 Pointing to legacy property (pre-Jakarta) in thrown exception of GroupsPerOperation 2023-07-21 12:04:25 -04:00
Victor Bonnier 36f3e4c289 HHH-16819 Corrected typo in JAKARTA_JPA_GROUP_PREFIX 2023-07-21 12:04:20 -04:00
Sanne Grinovero 042ea16b37 HHH-16963 Avoid H2's capability to register a JVM shutdown hook: causes classloader leaks during tests 2023-07-21 11:43:01 -04:00
Sanne Grinovero d812da6567 HHH-16964 Disable Log4J2's management beans during integration tests 2023-07-21 11:41:00 -04:00
Sanne Grinovero 0fa23aab81 HHH-16965 ByteCodeHelper test utility might occasionally not read the full bytestream 2023-07-21 06:15:46 -04:00
Jan Schatteman 38f5db334b HHH-16872 - Verify that statement fetch size is properly used
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-07-20 11:23:45 -05:00
Marco Belladelli 382037ec91 HHH-16860 Fix joined inheritance associations on root class 2023-07-20 11:09:27 -05:00
Marco Belladelli 79fe21648c HHH-16860 Add test for issue 2023-07-20 11:09:27 -05:00
Marco Belladelli 2a773b06ce HHH-16942 Make to-one's getJdbcTypeCount consistent with getSelectable
Also, cleanup some duplicated code in UpdateCoordinatorStandard
2023-07-20 09:17:46 -05:00
Marco Belladelli 78cc85aa05 HHH-16849 Fix partition key inside multi-column foreign key 2023-07-20 09:17:46 -05:00
Marco Belladelli b9e8d71dc8 HHH-16849 HHH-16942 Add test for issue 2023-07-20 09:17:46 -05:00
norbert_wirges f55c017f59 HHH-16907 moved if from inside private method to around
This improves performance of cascadeLogicalOneToOneOrphanRemoval
handling, because entity fields are only read by reflection if the field
is actually a 1:1 relation (before the change, this was done every time
for every field)
2023-07-20 09:15:33 -05:00
Gavin King 7c378847cb HHH-16912 return null from deprecated method instead of producing a CCE
This is a band-aid over an error occurring in Liquibase. But it seems to
me that Liquibase itself should be updated to use the new APIs.
2023-07-20 09:06:40 -05:00
Andrea Boriero 75d834efe9 HHH-16890 StackOverflowError when loading entities with @Proxy(lazy = false) 2023-07-20 16:04:35 +02:00
gtoison abaaa09225 HHH-16890 Add test for issue 2023-07-20 16:04:35 +02:00
Steve Ebersole fca25adde9 HHH-16955 - Better define how joins are handled with implicit Query select clause 2023-07-20 08:26:00 -05:00
Gavin King 17503d93c6 misc Javadoc improvements around event listeners 2023-07-20 12:32:21 +02:00
Marco Belladelli 28d9c65293 HHH-16908 Mapping error when using unowned associations as identifiers 2023-07-20 09:41:16 +02:00
Jan Schatteman 93b1b6a48c HHH-16908 Add test for issue 2023-07-20 09:41:16 +02:00
Steve Ebersole cd24ddf8e6 HHH-16765 - Cannot parse quoted table name 2023-07-19 14:16:01 -05:00
Steve Ebersole e2504647d4 HHH-13741 - LOG_SLOW_QUERY parameter doesn't always log SQL 2023-07-19 11:35:52 -05:00
Andrea Boriero 300667223c HHH-16943 Column ordering leads to wrong column order in unique constraints + HHH-16953 Hibernate doesn't observe column order on multicolumn indexes 2023-07-19 17:41:29 +02:00
Andrea Boriero 1e5b87f1d9 HHH-16953 Ad test for issue 2023-07-19 17:41:29 +02:00
Benedikt Waldvogel bde99e8a1c HHH-16943 Add UniqueConstraintColumnOrderTest showing the column order issue 2023-07-19 17:41:29 +02:00
Andrea Boriero 085fd88a7f HHH-15917 Unrelated Entity Join throws IllegalStateException 2023-07-19 15:58:31 +02:00
Andrea Boriero b0ac15af42 HHH-15917 Add test for issue 2023-07-19 15:58:31 +02:00
Marco Belladelli 97be9b31cf HHH-16837 Avoid passing domain path's NP when resolving table reference 2023-07-19 13:03:59 +02:00
Marco Belladelli 26eaa5a6df HHH-16837 Add test for issue 2023-07-19 13:03:59 +02:00
Marco Belladelli 2c7706eac8 HHH-16803 Specially handle enum classes in nullLiteral 2023-07-19 13:03:20 +02:00
Marco Belladelli 7333221c08 HHH-16803 Add test for issue 2023-07-19 13:03:20 +02:00
Gavin King e5371386a4 remove order-by list from the query plan cache key
Roll back my always-intended-to-be-temporary bandaid to allow
caching of the query plan after calls to setOrder(). Instead,
just disable caching of the query plan. When the query plan
cache can handle caching of criteria queries, change to use
that strategy instead.
2023-07-18 20:08:06 +02:00
Andrea Boriero e2ec3cd3e7 HHH-16812 StackOverflowError an embeddable's @Parent is a subclass in an inheritance tree 2023-07-18 17:55:40 +02:00
Andrea Boriero 2c2fd9df75 HHH-16812 add test for issue 2023-07-18 17:55:40 +02:00
gtoison 4d79376be9 HHH-16812 Test reproducing the issue
It seems that when trying to call the Smell.setCheese()setter and when
the entity is an uninitialized Food proxy there’s a ClassCastException
(maybe the proxy should be narrowed to the actual class of the entity)
and then it tries to build an exception but to do that it needs to
initialize the entity and that fails again with the same problem.
Building the exception fails because PropertySetterAccessException tries
to call the toString method of the uninitialized proxy.
2023-07-18 17:55:40 +02:00
Jan Schatteman 58c10758e0 HHH-16515 - Add o.h.property.access.spi to nullness checking
HHH-16515 - Add o.h.property.access.internal to nullness checking

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-07-18 14:33:00 +02:00
Marco Belladelli 22091b2254 HHH-16494 Reworked pruning for joined inheritance persister
Added handling of subclasses with the same table name and discriminator condition.
Also avoid useless left-joins when not finding table references instead of throwing an exception.
2023-07-18 14:02:19 +02:00
Marco Belladelli fed020e110 HHH-16494 Treat entity and attribute joins for inheritance subtypes 2023-07-18 14:02:19 +02:00
Marco Belladelli 3e3fd6f0be HHH-16494 Add test for issue 2023-07-18 14:02:19 +02:00
Marco Belladelli 3c62691dc4 HHH-16709 Use embeddable type's compare for embedded attribute mappings 2023-07-18 13:58:34 +02:00
Marco Belladelli 54382e09ea HHH-16709 Add test for issue 2023-07-18 13:58:34 +02:00
Marco Belladelli baf667b47b HHH-16667 Use identifier table key mapping in version update restriction 2023-07-18 11:51:45 +02:00
Marco Belladelli 8f9d5e4322 HHH-16667 Add test for issue 2023-07-18 11:51:45 +02:00
Marco Belladelli 475ea7a895 HHH-16754 Use current query part when checking selected group by paths 2023-07-18 11:50:21 +02:00
Marco Belladelli e17aa601cc HHH-16754 Add test for issue 2023-07-18 11:50:21 +02:00
Marco Belladelli 8f85f0a6d9 HHH-16871 Simplified maximum fetch depth condition 2023-07-18 11:48:24 +02:00
Marco Belladelli 7be0411b4e HHH-16871 Add test for issue 2023-07-18 11:48:24 +02:00
Marco Belladelli d00fb626af HHH-16905 Account for identifiers in getNavigablePathCopy 2023-07-18 11:46:41 +02:00
Marco Belladelli f368b32086 HHH-16926 Add test for issue 2023-07-18 11:46:41 +02:00
Marcel Triller b738dc936c HHH-16905 Add Test for Issue 2023-07-18 11:46:41 +02:00
Jan Schatteman ad36a76968 HHH-16515 - Add o.h.jdbc to nullness checking
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-07-18 10:03:24 +02:00
Jan Schatteman 2e73795e4b HHH-16515 - Add o.h.exception to nullness checking
HHH-16515 - Add o.h.integrator to nullness checking

HHH-16515 - Add o.h.service to nullness checking

HHH-16515 - Add o.h.engine.jndi to nullness checking

HHH-16515 - Add o.h.engine.config to nullness checking

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-07-17 21:56:22 +02:00
Marco Belladelli 43954c45e9 HHH-16790 Always lazily read SQL selection's jdbc values 2023-07-17 17:09:55 +02:00
Andrea Boriero 188529da36 HHH-16833 Assertion Error when inserting two entities linked with a OneToOne relation 2023-07-17 14:06:04 +02:00
Andrea Boriero 5d85db9211 HHH-16833 Add test for issue 2023-07-17 14:06:04 +02:00
Andrea Boriero fef04bc62e HHH-16923 Deleting all entities of a given type fails when using a composite primary key and order_updates 2023-07-17 11:01:43 +02:00
Andrea Boriero c8842b4e5b HHH-16923 Add test for issue 2023-07-17 11:01:43 +02:00
Gavin King 4d005b3d19 more info about the metamodel in the javadoc for SessionFactory 2023-07-16 15:39:20 +02:00
Gavin King 5cee742698 HHH-16940 add typesafe ref to ManagedType in metamodel classes 2023-07-16 15:27:12 +02:00
Gavin King 8611abe902 improve a couple of exception messages 2023-07-16 15:27:12 +02:00
Gavin King 52bfbe06f2 HHH-16633 validate the return type of @HQL query methods
(including constructors for record returns)
2023-07-16 15:27:12 +02:00
Gavin King df11070c77 fix three warnings in StringHelper 2023-07-16 09:57:58 +02:00
Sanne Grinovero 64216dd2c9 HHH-16728 Optimise iteration of AssociationType properties within a Persister 2023-07-15 16:26:36 -04:00
Gavin King a1abc1af93 make it easier to use the Action enum with Configuration 2023-07-15 13:40:30 +02:00
Sanne Grinovero b214eb332d HHH-16884 Improve efficiency of UpdateCoordinatorStandard in tracking tables to be updated 2023-07-15 05:05:02 -04:00
Jan Schatteman 314f2d7b7a Revert "HHH-16515 - Add o.h.exception to nullness checking"
This reverts commit c5c3bb8ac8.
2023-07-15 00:38:45 +02:00
Jan Schatteman c5c3bb8ac8 HHH-16515 - Add o.h.exception to nullness checking
HHH-16515 - Add o.h.integrator to nullness checking

HHH-16515 - Add o.h.service to nullness checking

HHH-16515 - Add o.h.engine.jndi to nullness checking

HHH-16515 - Add o.h.engine.config to nullness checking

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-07-14 21:42:25 +02:00
Sanne Grinovero c0a6e6f0fc HHH-16900 Move EntityMutationOperationGroup to the same package as related APIs 2023-07-14 06:41:45 -04:00
Sanne Grinovero d0e3298e9d HHH-16900 Restore API combatibiliy by using deprecated default methods 2023-07-14 06:41:45 -04:00
Sanne Grinovero 7d0da9e505 HHH-16900 Optimise implementations of MutationOperationGroup 2023-07-14 06:41:45 -04:00
Sanne Grinovero 441d280109 HHH-16900 Avoid using the old method, ensure by removing the deprecated methods 2023-07-14 06:41:45 -04:00
Sanne Grinovero 045f25511c HHH-16900 Refactor integration tests 2023-07-14 06:41:45 -04:00
Sanne Grinovero c1767adee7 HHH-16900 Rework also the MutationGroup APIs 2023-07-14 06:41:45 -04:00
Sanne Grinovero c608ee3a98 HHH-16900 Rework mutation group API 2023-07-14 06:41:45 -04:00
Andrea Boriero 814923dd46 HHH-16810 Fail to delete entity with a composite id using an @IdClass with one of its fields mapped from the id of a @ManyToOne association 2023-07-14 11:32:20 +02:00
Andrea Boriero b9e2105639 HHH-16810 Add test for issue 2023-07-14 11:32:20 +02:00
Andrea Boriero dac288d1bb HHH-16811 Dirty property lost and not detected with Batch Fetch, Embedded and FetchMode SELECT 2023-07-14 11:25:03 +02:00
Andrea Boriero ac9a5fc42c HHH-16811 Add test for issue 2023-07-14 11:25:03 +02:00
Andrea Boriero ebfaf1c707 HHH-16586 When merging a persisted entity with a null Version, Hibernate treats entity as transient instead of throwing an Exception 2023-07-14 11:20:29 +02:00
Andrea Boriero daf8bcc581 HHH-16586 Add test for issue 2023-07-14 11:20:29 +02:00
Gavin King 5a07e2b61d fix a test which was failing on h2 version 1.x 2023-07-13 23:14:50 +02:00
Gavin King e125a818e3 HHH-16899 add restrict() to CriteriaDefinition 2023-07-13 23:12:16 +02:00
Gavin King af7e7b9afc make it possible to get a named EntityGraph without an unchecked typecast 2023-07-13 18:20:41 +02:00
marko-bekhta 35ea74ec54 HHH-16695 Make AbstractQuery backwards compatible 2023-07-13 18:19:47 +02:00
Steve Ebersole 8386e1851e HHH-16917 - Number not allowed as type for procedure query parameter 2023-07-13 08:48:35 -05:00
Marco Belladelli 0aa5b5018f HHH-16845 Fix collection key parameter 2023-07-13 13:43:26 +02:00
Marco Belladelli 29d2ef730e HHH-16845 Add test for issue 2023-07-13 13:43:26 +02:00
Gavin King 7c67097fb0 HHH-16815 fixes to Page class
- prevent construction of negative Pages
- add Page.isFirst()
- fix impl of Page.previous()
2023-07-13 12:41:23 +02:00
Gavin King 0c1a49604e minor Javadoc improvement to SchemaManagementToolCoordinator 2023-07-13 12:40:31 +02:00
Gavin King 376a90f9b5 Bytebuddy -> Byte Buddy 2023-07-12 21:45:26 +02:00
Gavin King 99d8bf0832 improve Javadoc of org.hibernate.annotations.processing 2023-07-10 14:36:32 +02:00
Gavin King 605a732e05 HHH-16914 add support for EntityGraphs to NaturalIdLoadAccess and SimpleNaturalIdLoadAccess 2023-07-10 14:36:32 +02:00
Gavin King d5c4e2673b HHH-16695 fill in missing javadoc 2023-07-10 14:36:32 +02:00
Gavin King db4d529f60 HHH-16633 generate query methods from @NamedQuery annotations 2023-07-10 14:36:32 +02:00
Gavin King 87a320615c HHH-16695 make fetch profiles actually work for natural id loading 2023-07-10 14:36:32 +02:00
Gavin King 17ea1e28b9 HHH-16633 add ability to specify fetch profiles in @Find annotation 2023-07-10 14:36:32 +02:00
Gavin King 09f110254f HHH-16695 add enableFetchProfile() to XxxxIdLoadAccess 2023-07-10 14:36:32 +02:00
Gavin King 2e351831f1 HHH-16695 add enableFetchProfile() to Query 2023-07-10 14:36:32 +02:00
Gavin King 294ec27885 HHH-16913 EntityGraph support for StatelessSession 2023-07-08 19:18:26 +02:00
Gavin King 6b7d5bae3d HHH-16899 refinements to the CriteriaDefinition API 2023-07-08 18:06:21 +02:00
Gavin King f3eb0ec770 HHH-16899 allow the CriteriaDefinition to modify an existing query 2023-07-08 18:06:21 +02:00