16209 Commits

Author SHA1 Message Date
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
Gavin
2bd5dc7e97 more information about proxies 2023-05-20 17:08:08 +02:00
Gavin
d9d5ea57d4 change the format of an exception msg 2023-05-20 17:07:28 +02:00
Gavin
60cec44467 some minor cleanups 2023-05-20 17:07:28 +02:00
Gavin
fb28443081 raft of minor code cleanups 2023-05-20 12:48:19 +02:00
Gavin
4247f7b155 allow instantiation via non-public constructor in HQL 2023-05-20 12:09:17 +02:00
Gavin
f673441ab3 HHH-16647 allow unqualified use of query result type in HQL instantiation 2023-05-20 12:09:17 +02:00
Gavin
addd88000c improve error reporting in DynamicInstantiation stuff 2023-05-20 12:09:17 +02:00
Gavin
4c489eedbd add TIP about use of record types with 'select new' 2023-05-20 11:36:58 +02:00
Gavin
f38de6217b HHH-16601 log second-level cache RegionFactory initiation 2023-05-20 09:27:35 +02:00
Gavin
6d0c166414 slightly improve README 2023-05-20 00:58:53 +02:00
Gavin
ec03b6fd7f fix small error in doc 2023-05-19 23:03:48 +02:00
Gavin
fa5adc1979 fix erroneous code example 2023-05-19 21:43:20 +02:00
Gavin
f3ca2d67d5 talk about the MetamodelGenerator in Configuration
since it's used in two places now
2023-05-19 20:26:12 +02:00
Gavin
55d4f0f22c fix formatting in PDF 2023-05-19 16:27:55 +02:00
Gavin
689414e347 improve some error messages
also, tell StringType know how to convert ints and longs
2023-05-19 15:53:25 +02:00
Gavin
8ddbb033cd document EntityGraphs 2023-05-19 15:48:53 +02:00
Gavin
56ffbc104c document @DialectOverride 2023-05-19 12:36:25 +02:00
Gavin
47d8a63f16 HHH-16638 allow @DialectOverride for @SQLInsert and friends 2023-05-19 12:36:25 +02:00
Andrea Boriero
62c05eadb9 HHH-16570 Batch fetch with FetchMode JOIN might lead to multiplication in OneToMany items 2023-05-19 11:41:40 +02:00
Andrea Boriero
87fc258109 HHH-16570 Add test for issue 2023-05-19 11:41:40 +02:00
Jarkko Hyöty
6c8bb03c93 HHH-16433 Fix forced follow on locking with order by 2023-05-19 11:31:49 +02:00
Gavin
79d2e208a6 explain the usefulness of java.sql.Xlob 2023-05-19 11:26:47 +02:00
Gavin
f0a17e98b9 doc new feature Steve just added 2023-05-19 10:19:46 +02:00
Gavin
eafe6fd79b HHH-16637 add methods to SessionFactory for handling lifecycle of StatelessSession
also clean up the related code
2023-05-19 09:44:47 +02:00