Commit Graph

19389 Commits

Author SHA1 Message Date
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 417eb89369 HHH-17557 update migration guide 2024-09-15 08:53:37 +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 9f2beca226 add a comment 2024-09-14 12:29:10 +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 792b4fc812 HHH-18593 - Enforce GeneratedValue GenerationType 2024-09-13 12:07:34 -05: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