Commit Graph

12570 Commits

Author SHA1 Message Date
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