Commit Graph

12801 Commits

Author SHA1 Message Date
Christian Beikov 7b176df6b7 HHH-18604 Fix some issues with older database versions 2024-10-04 10:46:52 +02:00
Christian Beikov 5b602bdf94 HHH-18645 Handle proxies when resolving from existing entity in batch initializer 2024-10-04 10:29:41 +02:00
Gavin King aa6f88f1b4 move some logging in BatchImpl to typed methods
+ very minor code cleanups in BatchImpl & JdbcCoordinatorImpl
2024-10-04 09:51:52 +02:00
Jan Schatteman a0162f3ee5 HHH-13547 - remove logging of BatchImpl rethrown exceptions
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-10-03 16:43:37 +02:00
Gavin King fa4c43fc34 remove @Deprecated methods of CoreMessageLogger 2024-10-03 13:39:07 +02:00
Marco Belladelli 0c48c12f99 HHH-18321 Avoid search for table group when possible for paths 2024-10-03 10:58:24 +02:00
Marco Belladelli 5ca841c184 HHH-18321 Add test for issue 2024-10-03 10:58:24 +02:00
Christian Bürgi 26495fb600 HHH-18513 fix wrong prePartialFlush calculation in Session Metrics log 2024-10-03 10:48:49 +02:00
Réda Housni Alaoui 965c52390e HHH-18658 Inner join prevents finding an entity instance referencing an empty map 2024-10-02 16:26:15 +02:00
Leon Schenk 0a1a9f757d HHH-18675: Fix for Hibernate codestyle 2024-10-02 16:08:59 +02:00
Leon Schenk bc4804ab09 HHH-18675: Fix for testcase. If property is 'synthetic' then create no attribute for the jpa model. 2024-10-02 16:08:59 +02:00
Leon Schenk fcba4ed25d HHH-18675: Testcase added to Hibernate Project includes a reference testcase without generics. 2024-10-02 16:08:59 +02:00
Marco Belladelli 6ecc2a6c40 Fix a couple failures on CockroachDB 2024-10-02 15:32:14 +02:00
Steve Ebersole ee2d8a3765 HHH-18663 - Upgrade to hibernate-models 0.9.1 2024-10-01 10:54:10 +02:00
Gavin King df735cdebd remove some deprecated methods 2024-10-01 09:56:04 +02:00
Yanming Zhou c66b27d193 HHH-18674 Expose result count of NonUniqueResultException 2024-09-30 20:33:30 +02:00
Steve Ebersole 4f9035e9f8 HHH-18545 - Document "characteristics" of settings 2024-09-30 09:47:30 -05:00
Andrea Boriero d4ef44db00 HHH-18608 NPE in EntityInitializerImpl.resolveInstanceSubInitializers 2024-09-30 15:47:20 +02:00
Andrea Boriero 3d767a11db HHH-18608 Add test for issue 2024-09-30 15:47:20 +02:00
Philippe Marschall e7f5f886c7 HHH-18587 Implement Oracle array functions using set operations
https://hibernate.atlassian.net/browse/HHH-18587
2024-09-30 15:41:36 +02:00
Jan Schatteman 58ee919feb HHH-18643 - Remove support for SAP HANA versions older than 2.0 SPS 05, create a legacy HANA dialect in the community dialects module
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-09-30 14:08:49 +02:00
Luca Molteni f8e4e6e49f HHH-16861 HQL ordinal() function
The `ordinal` function returns the `ordinal` property of Java enums, for both enums mapped as ORDINAL and enums mapped as STRING generating different SQL in each case

`ordinal(field)` is equivalent to `cast(enum as Integer)`, implementation taken from CastStrEmulation when used on ordinal mapped enums.

Lexer and parser don't need to be changed as there is nakedIdentifier that matches custom function names

`ordinal` function is validated to work only on Java enum fields

Use convertToRelationalValue to generate enum value inside the SQL query

Co-authored-by: Christian Beikov <christian.beikov@gmail.com>
2024-09-30 10:57:24 +02:00
Marco Belladelli c5db0d38e7 HHH-18664 Consistent constructor matching logic for row-transformer 2024-09-30 10:04:35 +02:00
Marco Belladelli fc38d88930 HHH-18664 Add test for issue 2024-09-30 10:04:35 +02:00
Andrea Boriero fee9e86579 HHH-18457 Remove deprecated org.hibernate.Metamodel and org.hibernate.metamodel.spi.MetamodelImplementor 2024-09-26 17:33:46 +02:00
Andrea Boriero 5b25d09188 HHH-18409 byte[] instance variables annotated with @NaturalId cannot be found with a natural ID query 2024-09-26 16:51:44 +02:00
Andrea Boriero 71b3cb27d7 HHH-18409 Add test for issue 2024-09-26 16:51:44 +02:00
Andrea Boriero 34b479a719 HHH-18631 AssertionError when loading an entity after removing another, associated entity 2024-09-26 13:13:07 +02:00
Andrea Boriero dd9f79096f HHH-18631 Add test for issue 2024-09-26 13:13:07 +02:00
Marco Belladelli c9621aa9e2 HHH-18377 Fix NPE for private static final field 2024-09-24 17:01:23 +02:00
Marco Belladelli ebcbebac39 HHH-18642 Revert to Statement.RETURN_GENERATED_KEYS for identity only 2024-09-24 15:04:50 +02:00
Andrea Boriero 1adfaf30a5 HHH-18662 Attribute not mentioned in orm.xml ends up not being mapped in Hibernate ORM 7 2024-09-23 14:02:28 -05:00
Andrea Boriero 1327f002cd HHH-18662 Add test for issue 2024-09-23 14:02:28 -05:00
Steve Ebersole c3d7e5f0b5 HHH-18377 - Support for uuid v6 and v7 generated ids 2024-09-23 13:53:27 -05:00
Steve Ebersole 2f335cd786 HHH-18377 - Support for uuid v6 and v7 generated ids 2024-09-23 13:46:10 -05:00
Čedomir Igaly d1cb9c3679 HHH-18377 Test cases to check monofonicity of generated version 6 & version 7 UUID's 2024-09-23 13:31:07 -05:00
Čedomir Igaly 4e85302086 HHH-18377 UUID Version 6 & UUID Version 7 implementations 2024-09-23 13:31:06 -05:00
Steve Ebersole df405d37ab HHH-18620 - Add @NativeGenerator 2024-09-23 13:24:48 -05:00
Andrea Boriero fccbb8d582 HHH-18628 Regression: Unable to determine TableReference 2024-09-23 17:36:13 +02:00
Andrea Boriero a54d7ec804 HHH-18628 Add test for issue 2024-09-23 17:36:13 +02:00
Christian Beikov 450bca6265 HHH-18497 Add special xmlquery and xmlexists functions for DB2 10.5 2024-09-23 15:03:22 +02:00
Christian Beikov 3b07ed91c3 HHH-18497 Add xmlagg function 2024-09-23 15:03:22 +02:00
Christian Beikov af09813ced HHH-18497 Add xmlexists function 2024-09-23 15:03:22 +02:00
Christian Beikov 449d002563 HHH-18497 Add xmlquery function 2024-09-23 15:03:22 +02:00
Christian Beikov 574959a591 HHH-18497 Add xmlpi function 2024-09-23 15:03:22 +02:00
Christian Beikov a37ae66a2e HHH-18497 Add xmlconcat function 2024-09-23 15:03:22 +02:00
Christian Beikov 1abfd4eea6 HHH-18497 Add xmlforest function 2024-09-23 15:03:22 +02:00
Christian Beikov f10ec5db1d HHH-18497 Add xmlcomment function 2024-09-23 15:03:22 +02:00
Christian Beikov 4baba673cb HHH-18497 Add xmlelement function 2024-09-23 15:03:22 +02:00
Christian Beikov 7ff0567383 HHH-18497 Make reserved word identification for JPA compliance more robust 2024-09-23 15:03:22 +02:00
Vladimír Kuruc e2a1434017 Informix tests fixes 2024-09-23 14:40:55 +02:00
Philippe Marschall 7ffd991b80 HHH-18657 Use IF EXISTS in OracleUserDefinedTypeExporter 2024-09-23 14:34:12 +02:00
Marco Belladelli c2728308b5 HHH-18582 Throw explicit error when trying to map nested arrays 2024-09-23 11:16:03 +02:00
Marco Belladelli a21f4bf720 HHH-18582 Add test for issue 2024-09-23 11:16:03 +02:00
Gavin King 975dfa1ed9 disable test on Sybase 2024-09-23 08:42:28 +02:00
Gavin King ad33eb4f64 HHH-18649 test 2024-09-23 08:42:28 +02:00
Gavin King efc50aad00 squash warnings 2024-09-23 08:42:28 +02:00
Gavin King 600288d1bb HHH-18649 populate EntityGraph in static metamodel 2024-09-23 08:42:28 +02:00
Gavin King c863838e72 fix some warnings 2024-09-23 08:42:28 +02:00
Gavin King ec0f78d8c7 HHH-18649 populate TypedQueryReference in static metamodel
also rename two enums since "metamodel" is a word
2024-09-23 08:42:28 +02:00
Gavin King 67e7b895cc squash more warnings 2024-09-22 21:36:10 +02:00
Gavin King 73dba9304d remove redundant modifiers in DialectSpecificSettings 2024-09-21 11:13:38 +02:00
Jan Schatteman 3818b6d99f HHH-17971 - Remove ALLOW_REFRESH_DETACHED_ENTITY
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-09-20 23:59:32 +02:00
Andrea Boriero 052552f3f6 HHH-18515 Unrecognized discriminator value exception when running native query on entity with discriminator column 2024-09-20 13:09:59 +02:00
Andrea Boriero fbb1dd0c00 HHH-18515 Add test for issue 2024-09-20 13:09:59 +02:00
Andrea Boriero 8ebd5a79f5 HHH-18632 Concurrency issue with AbstractEntityPersister#nonLazyPropertyLoadPlansByName 2024-09-20 11:03:00 +02:00
Christian Beikov ec502138b1 HHH-18604 Fix some issues with old SQL Server versions 2024-09-20 09:12:59 +02:00
Marco Belladelli 791152d858 HHH-18617 Avoid reading unowned association key when filters are enabled 2024-09-20 08:46:42 +02:00
Marco Belladelli 4f9a42ba44 HHH-18617 Add test for issue 2024-09-20 08:46:42 +02:00
Marco Belladelli 0330d54795 HHH-18635 Avoid using `bigdatetime` on Sybase jconn when not necessary 2024-09-20 08:43:46 +02:00
Gavin King 1863fc75c4 remove rogue ; 2024-09-19 22:16:55 +02:00
Gavin King e7776049af more fallout from new Generator instantiation lifecycle 2024-09-19 22:16:55 +02:00
Gavin King 18aa8a7c70 don't cache the Generator in the SimpleValue
that way we don't need to re-call initialize()
on the cached instance

also handle canonicalization of generators via
RuntimeModelCreationContext instead of via
deprecated method or SessionFactoryImplementor
2024-09-19 22:16:55 +02:00
Gavin King 8ee09481b3 simplify Generator instantiation lifecycle
remove a bunch of unused parameters from methods in this package
2024-09-19 22:16:55 +02:00
Čedomir Igaly df16ea9694 HHH-18500 If superclass is null, class should not be enhanced, simply return empty collection 2024-09-19 18:58:35 +02:00
Christian Beikov 11d134ae38 HHH-18604 Fix some issues with older database versions 2024-09-19 15:11:37 +02:00
Christian Beikov ddadad2dac HHH-18596 Get rid of ValueHandlingMode hack in query pagination 2024-09-19 14:22:43 +02:00
Christian Beikov 0e5846b805 HHH-18604 Add json_array_insert 2024-09-18 18:43:07 +02:00
Christian Beikov 8dfc2a5a91 HHH-18604 Add json_array_append function 2024-09-18 18:43:07 +02:00
Christian Beikov 4a6c555cd0 HHH-18604 Spotless license header and EOL config 2024-09-18 18:43:07 +02:00
Christian Beikov ab37d1509b HHH-18604 Add json_mergepatch function 2024-09-18 18:43:07 +02:00
Christian Beikov 051bc78ae6 HHH-18604 Add json_insert and json_replace function 2024-09-18 18:43:07 +02:00
Christian Beikov 36066a03e6 HHH-18604 Add json_remove function and fix some Oracle functions 2024-09-18 18:43:07 +02:00
Christian Beikov 17f328609a HHH-18604 Add json_set function 2024-09-18 18:43:07 +02:00
Christian Beikov 7e11d7a809 HHH-18496 Fixup some CI issues 2024-09-18 18:43:07 +02:00
Christian Beikov f6ac53f83f HHH-18496 Hide JSON functions behind feature flag 2024-09-18 18:43:07 +02:00
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