10222 Commits

Author SHA1 Message Date
Gavin
5efa49f7d1 HHH-16600 @Basic(optional=false) on embeddable held by single table subclass
don't generate a 'not null' constraint for a field of an embeddable class if
it belongs to a subclass in single table inheritance hierarchy
2023-05-24 22:08:54 +02:00
Andrea Boriero
84547e8f4c HHH-16370 Using MapKey on ManyToMany leads to wrong insert SQL 2023-05-24 21:28:18 +02:00
Andrea Boriero
d4d82e67fd HHH-16370 Add test for issue 2023-05-24 21:28:18 +02:00
Guenther Demetz
01f4c74d6b HHH-16558 - Detaching an entity removes natural-id cross-reference from shared cache 2023-05-24 11:33:20 -05:00
Gavin
2b27d98a89 HHH-16654 much more efficient implementation of default fetch profile 2023-05-24 18:14:10 +02:00
Jan Schatteman
35da6000fd HHH-16649 - This commit effectively reverts d8bf6499 (HHH-15910), in which static remove methods were added to the Hibernate class
The reason for this is that the methods in fact don't work, since the machinery behind
them just isn't there, nor has it even been.
The CollectionSizeTest that was modified to test these new methods was
incomplete and hid this fact.

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2023-05-24 18:12:31 +02:00
Marco Belladelli
1c55a4766f HHH-16532 Fix NPE for @Any association fetches 2023-05-24 17:23:06 +02:00
Marco Belladelli
a05e3cd2fa HHH-16532 Add test for issue 2023-05-24 17:23:06 +02:00
Marco Belladelli
7116dc9def HHH-16543 Correct check for polymorphic root common attributes 2023-05-24 17:17:46 +02:00
Marco Belladelli
c6c24700a5 HHH-16543 Add test for issue 2023-05-24 17:17:46 +02:00
Gavin
d3db740035 HHH-16360 fix schema update precision/scale handling 2023-05-24 16:50:21 +02:00
Sanne Grinovero
57cbaed2a9 HHH-16685 Avoid extreme cache misses on EntityPersister#implementsLifecycle() 2023-05-24 12:08:44 +01:00
Sanne Grinovero
5c60b632a1 HHH-16683 Micro optimisations for MappingMetamodelImpl.getEntityDescriptor 2023-05-24 11:58:49 +01:00
Gavin
1d30b0161f add nissing <p> to javadoc 2023-05-24 00:22:14 +02:00
Gavin
80feb108fb javadoc improvements 2023-05-24 00:14:44 +02:00
Gavin
7b3c77c0c3 introduce @View annotation 2023-05-24 00:14:44 +02:00
Andrea Boriero
2bebcf5e95 HHH-16669 Batch loading prevents throwing ObjectNotFoundException on initialization of non-existent enhanced entity 2023-05-23 20:43:20 +01:00
Andrea Boriero
f9954aa873 HHH-16669 Test for issue: when batch loading not throwing ObjectNotFoundException on proxy init 2023-05-23 20:43:20 +01:00
Sanne Grinovero
bf82d53516 HHH-16679 Avoid type pollution problems on iterations of List<JdbcParameter> 2023-05-23 19:41:52 +01:00
Gavin
f54ff9de3e remove redundant @SuppressWarnings 2023-05-23 17:34:34 +02:00
Gavin
dc1fe43f52 change the names because Steve didn't like fetching()/loading() 2023-05-23 17:34:34 +02:00
Gavin
d424957cac two API improvements to EntityGraphs
1. make fetch/load graph distinction clearer in the XxxxLoadAccess APIs
2. addPluralSubgraph(), which is missing in JPA
2023-05-23 17:34:34 +02:00
Marco Belladelli
e84dfb2a8c HHH-16565 Clear PC entry for 2LC inconsistent return class entities 2023-05-23 17:33:04 +02:00
Marco Belladelli
f0affe7804 HHH-16565 Add test for issue 2023-05-23 17:33:04 +02:00
Gavin
66d67795a3 HHH-16666 fix test 2023-05-23 16:50:25 +02:00
Gavin
176abffdd5 HHH-16654 introduce a "default" fetch profile with eager to-ones in it
also, make the query translator always respect the fetch type specified
in the fetch profile (previously it would ignore it for statically-EAGER
many-to-ones, which was inconsistent and made little sense)
2023-05-23 16:50:25 +02:00
Gavin
b3e27788fa fix bug in query plan cache where fetch profiles were not considered 2023-05-23 16:50:25 +02:00
Gavin
ba0221da36 HHH-16666 introduce @FetchProfileOverride instead of reusing @Fetch
There are differences in the implied timing, so this is more consistent
2023-05-23 16:50:25 +02:00
Gavin
c636c83d7e HHH-16651 cleaner separation of "fetch method" vs "fetch timing" 2023-05-23 16:50:25 +02:00
Christian Beikov
7ed0241dc5 HHH-16676 Handle treat expressions in toHqlString 2023-05-23 13:40:46 +02:00
Gavin
e79cbe8669 disable a test on Oracle, because it fails on new JDBC drivers
cc @beikov
2023-05-23 11:05:43 +01:00
Gavin
3be2dc5978 HHH-16651 promote new operations from SessionBuilder to Session
setFetchBatchSize() and setSubselectFetchEnabled()
2023-05-23 07:51:02 +02:00
Gavin
6215a8ef42 add some additional hints for EM.setProperty() 2023-05-23 07:51:02 +02:00
Gavin
9c90bd505d HHH-16651 clean up API of the engine.profile package
FetchProfile should really be immutable so lets move toward that
2023-05-22 23:43:23 +02:00
Gavin
ad9fae044d HHH-16651 fix test 2023-05-22 23:43:23 +02:00
Gavin
a5ae1a479a HHH-16651 support all fetch styles in fetch profiles
Finally, after all these years!
2023-05-22 23:43:23 +02:00
Christian Beikov
4795b94f68 HHH-16657 Propagate PROJECTION entity name use from subquery to outer table group 2023-05-22 18:53:09 +02:00
Christian Beikov
7f5ebc207e HHH-16655 Fix parse error for HQL window frames 2023-05-22 18:53:09 +02:00
Christian Beikov
f49bce8bde HHH-16656 Register ranking window functions for H2 1.4.200 2023-05-22 18:53:09 +02:00
Gavin
36a77785e8 HHH-16666 give @FetchOverride.mode a default (the only supported value!)
Talk about low-hanging fruit!
2023-05-22 18:45:41 +02:00
Gavin
f2dbe7a9cb HHH-16666 allow fetch profiles to be defined using the @Fetch annotation
1. You may now declare an empty named @FetchProfile, and
2. add associations to it using @Fetch.

Note that @Fetch becomes a repeatable annotation.
2023-05-22 18:45:41 +02:00
Gavin
2daeadd449 share more code between the batch loaders 2023-05-22 18:45:28 +02:00
Gavin
2926d1781d trim array holding batch of ids before passing to JDBC
before this, the array length was the batch size, and
was padded with nulls, which isn't great if you have
a large batch size, I suppose
2023-05-22 18:45:28 +02:00
Gavin
f2017cd5a0 HHH-16651 improve probability of getting cached loader 2023-05-22 18:45:28 +02:00
Gavin
8bf5bb0d98 HHH-16651 change a test since we don't use array batch loader for one id anymore 2023-05-22 18:45:28 +02:00
Gavin
475aefb434 HHH-16651 use single id loader when there is one id in the batch 2023-05-22 18:45:28 +02:00
Gavin
97b653aaec HHH-16651 ooops, fix condition on affected-by 2023-05-22 18:45:28 +02:00
Gavin
c2ceb4c279 HHH-16651 get rid of Preparable interface
I can't figure out why it's required but perhaps I'm missing something
2023-05-22 18:45:28 +02:00
Gavin
bbd8df93ca HHH-16651 make persisters return adapted loaders for session batch size 2023-05-22 18:45:28 +02:00
Gavin
3097c47b3d HHH-16659 add Query.setEntityGraph()
and turn a log message into an IllegalArgumentException
2023-05-22 18:45:28 +02:00