Commit Graph

12715 Commits

Author SHA1 Message Date
Christian Beikov 59ae75bb52 HHH-18496 Add json_objectagg 2024-09-18 18:43:07 +02:00
Christian Beikov c58485c4ef HHH-18496 Add json_arrayagg 2024-09-18 18:43:07 +02:00
Christian Beikov 6b4cc28f0e HHH-18496 Add json_query 2024-09-18 18:43:07 +02:00
Christian Beikov 6454aaf055 HHH-18496 Add json_exists and support the passing clause 2024-09-18 18:43:07 +02:00
Christian Beikov 016b463973 HHH-18496 Add json_object and json_array functions 2024-09-18 18:43:07 +02:00
Christian Beikov d5a3f041b3 HHH-18496 Add json_value function 2024-09-18 18:43:07 +02:00
Christian Beikov ff57a6ced0 HHH-18447 Try using native cast for string to boolean 2024-09-18 18:42:10 +02:00
Piotr Wolny b179881847 HHH-18551 Fix memory leak caused by creation of new BasicTypeImpl 2024-09-18 18:36:31 +02:00
Christian Beikov cc72efd0fe HHH-18630 Upgrade H2 to 2.3.232 and H2GIS to 2.2.2 2024-09-18 15:53:35 +02:00
Steve Ebersole 9e89bdd85a Javadoc for GeneratorCreationContext 2024-09-18 08:17:43 -05:00
Marco Belladelli 384bdbc19c Exclude generated sources from spotless 2024-09-18 12:06:40 +02:00
Gavin King fc2b1b9854 HHH-18626 fix error for @Id annotation in @Embeddable class 2024-09-17 19:59:30 +02:00
Gavin King e9bf523ce1 clean up some obsolete code in AbstractEntityPersister 2024-09-17 18:41:41 +02:00
Gavin King 79c8b41298 remove two useless @FailureExpected tests
having failing tests for features we have never supported
isn't actually useful at all, and just slows us down
2024-09-17 08:43:23 +02:00
Gavin King 49a3ecd2c0 moar header updates 2024-09-17 08:43:23 +02:00
Gavin King 8205506104 deal with some warnings 2024-09-17 08:43:23 +02:00
Gavin King 9f59f93b6e mark an override @Deprecated 2024-09-17 08:43:23 +02:00
Gavin King cb8b03d392 report a limitation sooner 2024-09-17 08:43:23 +02:00
Čedomir Igaly 2c607e4bd6 HHH-18322 Fixed compilation error in test case 2024-09-16 16:17:02 -05:00
Čedomir Igaly 289ab0e6ca HHH-18322 Immediately throw InstantiationException when resolving constructor for single null argument 2024-09-16 16:17:02 -05:00
Čedomir Igaly 8bec334ab2 HHH-18322 Fix : when exact constructor is not found, try finding matching one 2024-09-16 16:17:02 -05:00
Cedomir Igaly ab09c672a3 HHH-18322 Test cases showing the problem 2024-09-16 16:17:02 -05:00
Marco Belladelli 95ef45bef8 HHH-18174 Fix junction entity name uses algorithm for subqueries 2024-09-16 14:54:57 -05:00
Marco Belladelli a33ae2d580 HHH-18174 Add test for issue 2024-09-16 14:54:57 -05:00
Gavin King f0f96916ad abbreviated source header 2024-09-16 21:26:00 +02:00
Gavin King bbc325c26f spaces to tabs! 2024-09-16 21:26:00 +02:00
Gavin King a43bcd80a8 enable spotless 2024-09-16 21:26:00 +02:00
Gavin King de921ad473 cleanups by spotless 2024-09-16 21:26:00 +02:00
Andrea Boriero 2f2dbbe2e6 HHH-18489 Lazy, unowned one-to-one associations get loaded eagerly in queries - even with bytecode enhancement 2024-09-16 12:01:30 -05:00
Andrea Boriero b407aa7679 HHH-18489 Test initialization of unowned, lazy one-to-one associations 2024-09-16 12:01:30 -05:00
Yoann Rodière 434b32e494 HHH-18489 Test initialization of unowned, lazy one-to-one associations (and more) in queries 2024-09-16 12:01:30 -05:00
Andrea Boriero 1b0cc59913 HHH-18462 Provide alternatives to deprecated org.hibernate.engine.spi.Mapping 2024-09-16 11:45:54 -05:00
Marco Belladelli e411775c70 Remove problematic template test using type
Note: `string` is an actual type (and keyword) in CockroachDB
2024-09-16 17:15:34 +02:00
Marco Belladelli 9b5f17340f Override CockroachDialect#determineDatabaseVersion implementation 2024-09-16 17:15:34 +02:00
Marco Belladelli e66cbc1d8f Require pgsql 14+ for `compression pglz` column option 2024-09-16 17:15:34 +02:00
Marco Belladelli 829b990585 Fix HANA error where table only contains PK 2024-09-16 17:15:34 +02:00
Marco Belladelli 9071c16e7d HHH-18612 Avoid writing `import.sql` file to classpath 2024-09-16 11:26:00 +02:00
Marco Belladelli 93e74362d5 HHH-18436 Apply plural attribute ordering when creating the join 2024-09-16 11:25:48 +02:00
Marco Belladelli b61628326c HHH-18436 Add test for issue 2024-09-16 11:25:48 +02:00
Marco Belladelli a784ca2027 HHH-18439 Account for null values in query cache hit
Also, solve an assertion error in query result type check when selecting `null` literals
2024-09-16 11:25:30 +02:00
Marco Belladelli 4bf11f8503 HHH-18439 Add test for issue 2024-09-16 11:25:30 +02:00
Marco Belladelli 234bff41b8 HHH-18445 Always preserve correct property order for java records 2024-09-16 11:25:14 +02:00
Marco Belladelli f9a4efaa8f HHH-18445 Add test for issue 2024-09-16 11:25:14 +02:00
Marco Belladelli 3001b7f01d HHH-18484 Account for null generated values for no-op updates 2024-09-16 11:24:54 +02:00
Marco Belladelli 928c786683 HHH-18484 Add test for issue 2024-09-16 11:24:54 +02:00
Gavin King 2e6902ddb2 HHH-17557 native queries return LocalDate and LocalDateTime instead of java.sql types
... by default, with a setting to recover old behavior.
2024-09-15 08:38:21 +02:00
Gavin King 2fc51bd7b2 attempt to untangle some convoluted logic in Query hierarchy 2024-09-15 08:24:43 +02:00
Gavin 52e185b194 HHH-15942 introduce QueryFlushMode for specifying whether a query flushes or not
- replaces FlushModeType in the annotation package
- much less confusing when applied to a Query
  * what do MANUAL and COMMIT mean for a Query?
  * how is AUTO useful for a Query?

- also make Query.getHibernateFlushMode() obey its
  documented semantics by returning the session
  flush mode instead of null when unset
2024-09-15 08:24:43 +02:00
Gavin King 5f8bf125fc HHH-18619 add support for @ForeignKey(options), @UniqueConstraint(options), @Index(options) 2024-09-14 18:49:18 +02:00
Gavin King 19d5895dd6 finally sort out handling of @Id and @Version in query validator
also remove 'this' hacks made obsolete by Steve's work on core
2024-09-14 12:29:10 +02:00
Andrea Boriero d6ab2fd110 HHH-18511 ArrayIndexOutOfBoundsException in ImmutableFetchList 2024-09-14 09:09:25 +02:00
Andrea Boriero 21a69c682e HHH-18511 Add test for issue 2024-09-14 09:09:25 +02:00
Steve Ebersole 4b6822a8bc HHH-18498 - Support for unnamed generators
HHH-18593 - Enforce GeneratedValue GenerationType
HHH-18609 - Use UuidGenerator for GenerationType.UUID
2024-09-13 10:01:00 -05:00
Jan Schatteman 76df41f9be HHH-18537 - Support Session#createNamedSelectionQuery for native-query
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-09-13 10:01:00 -05:00
Steve Ebersole 80b12c46e7 HHH-18535 - Support jakarta.persistence.EntityResult#lockMode 2024-09-13 10:01:00 -05:00
Steve Ebersole e574f88fd6 HHH-18536 - Support implicit "this" alias in HQL 2024-09-13 10:01:00 -05:00
Steve Ebersole 08bd466703 HHH-18498 - Generator on package level does not work when the name is not specified
HHH-18499 - Some new functions in Persistence 3.2 does not work
HHH-18536 - Support implicit "this" alias in HQL
HHH-18537 - Support Session#createNamedSelectionQuery for native-query
2024-09-13 10:01:00 -05:00
Gavin King a82ac08d14 test for @NamedNativeQuery with result set mapping
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-13 10:01:00 -05:00
Gavin King e11ac26cd2 test for @EntityResult(lockMode)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-13 10:01:00 -05:00
Gavin King 27042f562f test for @SequenceGenerator/@TableGenerator with no name
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-13 10:01:00 -05:00
Gavin King 3c161e0c82 test for JPQL 'this' implicit identification variable
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-13 10:00:59 -05:00
Yanming Zhou 3c4a340c5e HHH-18581 Introduce `supportsBindingNullSqlTypeForSetNull()` and `supportsBindingNullForSetObject()` for `Dialect` to optimize binding null
The method `PreparedStatement.getParameterMetaData().getParameterType(int)` call is expensive for some JDBC driver such as pgJDBC, we should avoid it if the driver supports binding `Types.NULL` for `setNull()` or `null` for `setObject()`.
2024-09-13 14:16:54 +02:00
Yanming Zhou 2e54d95707 HHH-18575 Add test for issue 2024-09-13 14:12:47 +02:00
Yanming Zhou 1d46b87008 HHH-18575 Fix IllegalStateException while passing multi-valued BigDecimal as parameter
Fix
```
java.lang.IllegalStateException: Binding is multi-valued; illegal call to #getBindValue

	at org.hibernate.query.internal.QueryParameterBindingImpl.getBindValue(QueryParameterBindingImpl.java:100)
	at org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.resolveSqmParameter(BaseSqmToSqlAstConverter.java:6283)
	at org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.consumeSqmParameter(BaseSqmToSqlAstConverter.java:5861)
	at org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.consumeSingleSqmParameter(BaseSqmToSqlAstConverter.java:5950)
	at org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.processInSingleParameter(BaseSqmToSqlAstConverter.java:8178)
	at org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.processInSingleHqlParameter(BaseSqmToSqlAstConverter.java:8135)
	at org.hibernate.query.sqm.sql.BaseSqmToSqlAstConverter.processInListWithSingleParameter(BaseSqmToSqlAstConverter.java:8124)
```
2024-09-13 14:12:47 +02:00
Marco Belladelli 1951c0b993 HHH-18478 Retrieve concrete entity descriptor inside entity initializer's resolve state 2024-09-13 12:41:33 +02:00
Marco Belladelli 03d9671e02 HHH-18478 Add test for issue 2024-09-13 12:41:33 +02:00
Marco Belladelli fc337a9294 HHH-18490 Handle "concrete" generic embeddable attributes defined in mapped superclass
Also, resolve the correct expressible for function return type resolvers based on argument types.
2024-09-13 12:40:56 +02:00
Marco Belladelli 0e71253aa3 HHH-18490 Add test for issue 2024-09-13 12:40:56 +02:00
Marco Belladelli b61ba10afd HHH-18502 Fix compiler method selection for #in(Collection<?> values) 2024-09-13 12:40:32 +02:00
Marco Belladelli 97f9402edb HHH-18502 Add test for issue 2024-09-13 12:40:32 +02:00
Marco Belladelli dbf5d222bb HHH-18469 Use collection element table group when resolving circular bidirectional fetch 2024-09-13 12:39:53 +02:00
Marco Belladelli 564eeead3c HHH-18469 Add test for issue 2024-09-13 12:39:53 +02:00
Marco Belladelli 70137e7f09 HHH-18486 Prioritize custom name-resolvers before defaulting to dynamic 2024-09-13 12:37:49 +02:00
Marco Belladelli 1ae633b5c6 HHH-18486 Add test for issue 2024-09-13 12:37:49 +02:00
Marco Belladelli edc7b5d680 HHH-18178 Validation of CTE source query in `with` method 2024-09-13 12:37:25 +02:00
Marco Belladelli 726ae6a959 HHH-18178 Add test for issue 2024-09-13 12:37:25 +02:00
Marco Belladelli 67269a6137 HHH-18503 Register root table name usage for persisters with physical discriminators 2024-09-13 12:36:59 +02:00
marko-bekhta ecf4c29a60 HHH-18503 Add a test showing the issue 2024-09-13 12:36:59 +02:00
Yanming Zhou 464ad489d6 Mark field `INSTANCE` as private or deprecated for removal if method `instance()` present 2024-09-13 11:03:04 +02:00
Andrea Boriero c181e1913e Revert "HHH-18543 Skip GenericCompositeUserTypeTest for JVM OpenJ9"
This reverts commit 7e4df3f805.
2024-09-13 10:45:58 +02:00
Andrea Boriero d8ad674e7f HHH-18480 ClassCastException when updating a Blob with Oracle 2024-09-12 20:55:00 +02:00
Andrea Boriero 6cc292e9d3 HHH-18480 Add test for issue 2024-09-12 20:55:00 +02:00
Yoann Rodière 4b33d0d067 HHH-18602 Expose `determineDatabaseVersion` in `Dialect` 2024-09-12 12:48:38 -05:00
Andrea Boriero 4bd164222f HHH-18353 ArrayConstructorFunction comparing argument types by reference causes FunctionArgumentException 2024-09-12 15:43:15 +02:00
Andrea Boriero ab11020ed1 HHH-18353 Add test for issue 2024-09-12 15:43:15 +02:00
Andrea Boriero c1d9ac00bf HHH-18565 Mark bytecode enhanced lazy entities as RESOLVED 2024-09-12 14:01:49 +02:00
Andrea Boriero 1a03011d8e HHH-18565 Add test for issue 2024-09-12 14:01:49 +02:00
Matej Pucihar 4518f3daa0 HHH-18565 reproduce issue 2024-09-12 14:01:49 +02:00
Andrea Boriero 952cf531cf HHH-18556 Expressions.nullExpresion() in querydsl result in NPE in SqmExpressible 2024-09-12 13:18:26 +02:00
Andrea Boriero c56d413bf2 HHH-18556 Add test for issue 2024-09-12 13:18:26 +02:00
Gavin King f80ba1fe22 HHH-16880 nail a bit down the handling of converted types in TypecheckUtil 2024-09-11 22:43:06 +02:00
Gavin King 20cd322f37 extract a method in EnumJavaType 2024-09-11 22:43:06 +02:00
Gavin King c57a90e088 cleanup warnings in PersistenceContext
+ code cleanups in CacheEntityLoaderHelper
2024-09-11 08:36:44 +02:00
Gavin King 3a4da8dd85 HHH-18554 also deprecate CascadingActions.LOCK 2024-09-11 07:03:30 +02:00
Gavin King d82913d65f HHH-18544 multiload() and findAll() should return existing proxies 2024-09-11 07:03:30 +02:00
Gavin King 47270d4157 tidy up TypecheckUtil 2024-09-11 01:00:10 +02:00
Gavin King 58a6afe78d remove deprecated FunctionRenderingSupport 2024-09-11 01:00:10 +02:00
Gavin King f2f802645c cleanups related to function registry 2024-09-11 01:00:10 +02:00
Gavin King d269637f77 HHH-18554 deprecate @Cascade and CascadeType 2024-09-10 23:49:55 +02:00
Jan Schatteman 30f2a2045d HHH-18458 - Remove deprecated org.hibernate.EmptyInterceptor
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-09-10 21:41:50 +02:00
Gavin King 1f16a0698e fix more warnings 2024-09-10 17:25:21 +02:00
Gavin King 0c3b8fd819 unexpose the ServiceRegistry on SqmCreationContext + SqlAstCreationContext 2024-09-10 17:25:21 +02:00
Gavin King 25d0922ff9 fix up lots of warnings, esp. unused parameters 2024-09-10 17:25:21 +02:00
Gavin King b4e26b3e32 refactor a bit the BindingContext hierarchy 2024-09-10 17:25:21 +02:00
Gavin King 1abc64fc65 SqmCriteriaNodeBuilder doesn't need to be a SqmCreationContext 2024-09-10 17:25:21 +02:00
Gavin King 4a974fe976 fix up warnings in BasicDotIdentifierConsumer + genericize FullyQualifiedReflectivePathTerminal 2024-09-10 17:25:21 +02:00
Gavin King 0dedc62270 clean up JdbcXxxxJavaTypes 2024-09-10 17:25:21 +02:00
Gavin King 2e4c2ff565 clean up two more enums 2024-09-10 17:25:21 +02:00
Jan Schatteman d0d6f08243 Add cleanup method to test
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-09-10 16:58:46 +02:00
Jan Schatteman 8da3f3700f HHH-18592 - Remove deprecated @TestForIssue
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-09-10 14:09:20 +02:00
Gavin King 4a4c55f830 HHH-17576 fix tests to not demand that fractional seconds are stored for Times 2024-09-10 06:46:25 +02:00
Gavin King 6d64e854e2 HHH-17576 inappropriate use of getDefaultTimestampPrecision() as default precision
This default is only appropriate for timestamps (hence the name) and should not be
used for dates or plain times.
2024-09-10 06:46:25 +02:00
Gavin King 6d4002bd97 reset the ValueHandlingMode after pagination 2024-09-10 00:42:18 +02:00
Gavin King 9f91f2dbff major refactor to horrible instantiation of QueryEngine 2024-09-10 00:42:18 +02:00
Andrea Boriero 53f9321cc0 HHH-18520 Fix issue with dynamic model 2024-09-09 11:17:54 -05:00
Andrea Boriero 92c434dd9b HHH-18520 Upgrade to hibernate-models 0.9.0 2024-09-09 11:17:54 -05:00
Andrea Boriero 3c1b5c7a1d HHH-18520 Upgrade to hibernate-models 0.9.0 + HHH-18521 Leverage hibernate-models ModelsConfiguration 2024-09-09 11:17:54 -05:00
Gavin King 6e2ed7f1a0 HHH-17948 make findAll() accept FindOptions
and add missing options to MultiIdentifierLoadAccess
2024-09-09 17:24:10 +02:00
Gavin King 62e1b0470e HHH-17948 make getAll(), findAll() accept List instead of varargs 2024-09-09 17:24:10 +02:00
Gavin King 7e36768c65 fix warnings in StatelessSessionImpl 2024-09-09 17:24:10 +02:00
Gavin King 362da7ebf1 add javadoc cross links b/w byMultipleIds and findAll
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-09 17:24:10 +02:00
Gavin King 526e282c4c HHH-17948 add Session.findAll(), StatelessSession.getAll()
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-09 17:24:10 +02:00
Gavin King f25060eeac clean up obsolete code in MetadataBuildingProcess 2024-09-09 09:37:06 +02:00
Gavin King 22aba27cff use switch expressions in main enums 2024-09-09 09:00:10 +02:00
Gavin King eed7ec0837 fix a couple of warnings in Configuration 2024-09-09 09:00:10 +02:00
Gavin King 2a904a46b2 fix a minor typing issue in SessionFactoryImpl 2024-09-09 09:00:10 +02:00
Gavin King fc9229e9f4 warning cleanups in Dialects 2024-09-09 09:00:10 +02:00
Gavin King 47f9bcfb24 some code and warning cleanups in Hibernate class 2024-09-09 09:00:10 +02:00
Gavin King 6612868d29 some code and warning cleanups in org.hibernate.boot 2024-09-09 09:00:10 +02:00
Gavin King 04b8d80125
HHH-18492 add Hibernate.isEmpty() for pure convenience
HHH-18492 add Hibernate.isEmpty() for pure convenience

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-08 23:07:16 +02:00
Gavin King 349b209deb HHH-17739 add tests 2024-09-08 23:02:50 +02:00
Gavin King 6c6c92e88d HHH-17739 fix NPE for field with unsupported collection type
cleanups and warning fixes in TypeConfiguration and BasicValue
2024-09-08 23:02:50 +02:00
Paria f5e1d1cd73
HHH-18470: fix duplicate generated FK names for TABLE_PER_CLASS inheritance 2024-09-08 14:12:14 +02:00
Gavin King ee00217733 HHH-18586 report StaleObjectStateExceptions when batch update fails
and some minor cleanups to the Coordinators

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-08 14:02:48 +02:00
Gavin King e55c05f0b4 HHH-16954 introduce HibernateCriteriaBuilder.parameterList()
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-07 23:52:44 +02:00
Gavin King 0c1a1e9832 HHH-18584 fix logic for deciding if something is implicitly selectable
implicit joins should not be added to the select list!

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-07 13:49:27 +02:00
Gavin King 306991f8d9 HHH-18584 disallow "ambiguous" queries for the deprecated createQuery() method
and add support for using 'this' alias to infer the 'select' list (JPA 3.2)

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-07 13:49:27 +02:00
Gavin King 2630b33261 workaround for Maria reporting that "string" is a keyword
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-06 20:26:05 +02:00
Gavin King 57cfbb6161 simplify quoting algorithm in FilterHelper
and generally refactor logic

eliminate cast to FilterImpl

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-06 20:26:05 +02:00
Gavin King d1fdb24fb8 minor cleanups to InFlightMetadataCollectorImpl
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-06 20:26:05 +02:00
Gavin King a20fb5663d major rework of Template + battery of new tests
I discovered that the over-complex support for ANSI trim() was
completely broken, unsurprisingly, given the complexity of the
implementation, and the absence of tests.

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-06 20:26:05 +02:00
Gavin King 35f96d6e90 HHH-18570 reallow use of 'date' and 'time' as regular column names in parsed SQL
attempt to simplify the logic here

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-06 20:26:05 +02:00
Yanming Zhou cb0268a618 Remove redundant methods `isBatchLoadable()`
The method implementation is identical to default method
2024-09-06 16:28:26 +02:00
Noel Trout 8a88ad7f59 HHH-18571 Fix bug and correctly report effective batching 2024-09-05 14:53:02 +02:00
Noel Trout ff1d5fdb90 HHH-18571 Added test case demonstrating issue 2024-09-05 14:53:02 +02:00
Gavin King 52a9de7cac more @SuppressWarnings cleanups
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-05 10:46:52 +02:00
Gavin King 5748376edc improve an error message
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-05 10:46:52 +02:00
Gavin King 56e0893b3a some misc code cleanups
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-05 10:46:52 +02:00
Gavin King 0dd2defc89 @SuppressWarnings({"UnusedDeclaration"}) -> @SuppressWarnings("unused")
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-09-05 10:46:52 +02:00
Alex 9cf4bd8251 HHH-18560: added unittest 2024-09-05 10:36:36 +02:00