Commit Graph

12626 Commits

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