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
f330c85c16
change the names in doc because Steve didn't like fetching()/loading()
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
2e502215d5
update the docs with new @FetchProfileOverride
...
and the "default" profile
2023-05-23 16:50:25 +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
201c08a8b7
upgrade all the jdbc drivers
2023-05-23 11:05:43 +01:00
Gavin
9cd1d788ea
use Oracle driver odbc11 since we now depend on Java 11
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
bebde84992
add logo to PDF
2023-05-22 23:48:09 +02:00
Gavin
22a5cbb0a8
lots of new info on fetching and caching
...
- proper coverage of subselect fetching
- how to handle reference data
2023-05-22 23:43:23 +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
e12b82033e
HHH-16666 document fetch profiles now they are nicer to use
2023-05-22 18:45:41 +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
Gavin
e102dea3be
lay foundation for making batch/subselect fetching per-session
...
still need to fix caching of loaders in persisters
2023-05-22 18:45:28 +02:00
Gavin
ed213d7cdf
add applySubselectFetchEnabled() to builder
...
improve some Javadoc
2023-05-22 18:45:28 +02:00
Gavin
12e1a97e50
update the doc to show how to enable subselects
2023-05-22 18:45:28 +02:00
Gavin
eb959722f9
HHH-16651 introduce new setting to globally enable the use of subselect fetching
...
and lay foundation for making this settable on the Session
2023-05-22 18:45:28 +02:00
Felix
2b0bc61873
HHH-16652 fix the broken link: hql-string-functions
2023-05-22 13:42:35 +02:00
Christian Beikov
fa15bba8c8
HHH-16663 Fix TCK failure due to wrong refactoring in schema management Action enum
2023-05-22 13:32:19 +02:00
Gavin
4ebc24daa0
HHH-16650 add test
2023-05-22 10:07:27 +02:00
Gavin
eded6e8ff9
HHH-16650 fix for native queries with "unknown" numeric types on Oracle
...
Oracle reports FLOAT/DOUBLE PRECISION as NUMBER, which is wrong. The
workaround was to look at the scale, which it reports as -127 for
FLOAT. But certain other expression also get scale -127, and this
could cause truncation of least-significant digits when we read them
into a Java Double.
2023-05-22 10:07:27 +02:00
Gavin
7aa1883c6d
more info about caching (Caffeine) and logging
2023-05-20 18:27:26 +02:00
Gavin
a2e463801b
improve discussion of fetching + new section on Statistics
2023-05-20 17:09:42 +02:00