Commit Graph

11873 Commits

Author SHA1 Message Date
Christian Beikov d02d8d7af6 HHH-17030 Rework the initializer interactions and polish the interface design 2024-05-22 20:00:57 +02:00
Christian Beikov 3263ac4fd0 Skip test for DB2 2024-05-22 20:00:31 +02:00
Cedomir Igaly d738e75662 HHH-18106 - Java constant field resolution moved to JpaMetamodel 2024-05-22 18:39:49 +02:00
LLEFEVRE dc82a3c5e3 HHH-17909 Use domain type for NAMED_ENUM 2024-05-22 18:36:44 +02:00
Andrea Boriero af269ae182 HHH-17943 - Fix for issue 2024-05-22 17:54:14 +02:00
Andrea Boriero 7ae416d6dd HHH-17943 - Add test for issue 2024-05-22 17:54:14 +02:00
Jan Schatteman aed5589e4d HHH-17943 - Fix for issue
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-05-22 17:54:14 +02:00
Jan Schatteman 4c6a1b3c4e HHH-17943 - Add test for issue
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-05-22 17:54:14 +02:00
Christian Beikov 2df10cb525 Fix some HANA related issues 2024-05-22 17:50:34 +02:00
Gavin King 2b801702f1 minor javadoc improvements to Builder stuff
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-22 16:23:03 +02:00
Marco Belladelli 2e9acf1ded HHH-18125 Support for `type()` and `treat()` operators for Embeddables 2024-05-22 15:59:03 +02:00
Jan Schatteman 4866201bf0 HHH-17972 - Allow changing tenant identifier with restrictions when a MultiTenantConnectionProvider is in use
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-05-22 15:07:24 +02:00
Jan Schatteman 02f085e153 HHH-17972 - Allow changing tenant identifier in SharedSessionBuilder
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-05-22 15:07:24 +02:00
Christian Beikov 11d22531bb HHH-17884 Introduce special SqlTypes constants for ordinal based enums 2024-05-22 13:58:40 +02:00
hugo-syn 97e2ca0d3a chore: s/overriden/overridden 2024-05-22 11:31:48 +02:00
Gavin King 8ceed5ab5a add missing covariant overrides to SharedSessionBuilder
cc @jrenaat

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-22 00:35:27 +02:00
Gavin King 8ea4d6a3c0 very minor whitespace fixes
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-22 00:35:27 +02:00
Jan Schatteman 522269e9a9 HHH-1661 throw when merge() applied to a definitely-removed instance
group effort by @jrenaat, @beikov, and myself

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-21 21:23:20 +02:00
Gavin King cbcd26607c use static import
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-21 21:23:20 +02:00
fmusolino c198fcfe1c HHH-18132 Fix minimum version check for skip locked on HANA 2024-05-21 19:29:42 +02:00
fmusolino 80219b6cd9 HHH-18132 Implement getForUpdateSkipLockedString in AbstractHANADialect 2024-05-21 19:29:42 +02:00
fmusolino 41c12ea342 HHH-18132 Add a space to the skip locked string 2024-05-21 19:29:42 +02:00
fmusolino a53d4317a3 HHH-18132 Add support for skip locked for HANA. 2024-05-21 19:29:42 +02:00
Yanming Zhou 0d35d9d5b1 HHH-18073 `BasicCollectionJavaType::wrap` should retain order of `Set` to keep consistent with `deepCopy` 2024-05-21 18:24:12 +02:00
Hassan AL Meftah 60b0a63629 HHH-17738 : Add support for Oracle database AI Vector Search 2024-05-21 17:13:57 +02:00
Gavin King 4791b41cf5 HHH-16531 be more forgiving in handling of integral types in schema validation/update
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-21 15:43:50 +02:00
LLEFEVRE cf23888fab HHH-18142 Add Oracle Database 23ai support for DROP SEQUENCE IF EXISTS 2024-05-21 12:25:21 +02:00
LLEFEVRE 6a764d70e6 HHH-18142 Add Oracle Database 23ai support for DROP SEQUENCE IF EXISTS 2024-05-21 12:25:21 +02:00
LLEFEVRE fcc33f3fe1 HHH-18142 Add Oracle Database 23ai support for DROP SEQUENCE IF EXISTS 2024-05-21 12:25:21 +02:00
Gavin King 2619df6c7f HHH-18140 Skip optimizeUnloadedDelete if there are POST_COMMIT_DELETE listeners
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-20 16:15:44 +02:00
Gavin King 167309c5d8 add another column type name normalization 'double precision' -> 'double'
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-20 15:27:12 +02:00
Gavin King 05bf44a41b HHH-18140 schema migration for @Column(length=LONG) on MySQL
and similar cases where the column type doesn't have explicit length

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-20 15:27:12 +02:00
Marco Belladelli 421e9cf643 HHH-18026 Fix SQL Exception for dialects not supporting arbitrary keys 2024-05-20 08:46:33 +02:00
Marco Belladelli 0515b71a81 HHH-18026 Add test for issue 2024-05-20 08:46:33 +02:00
Gavin King f32c9e6e36 squash diverse compiler warnings
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-17 20:45:09 +02:00
Gavin King 4a03c0e84d HHH-18136 minor cleanups
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-17 18:12:48 +02:00
Gavin King 371fe8f51c HHH-18136 remove Table.identifierValue which was just bad
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-17 18:12:48 +02:00
Gavin King 7d3d17de4c HHH-18136 clean up legacy handling of identity columns
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-17 18:12:48 +02:00
Gavin King e721180435 HHH-18136 make it easier to write Generators which delegate to "old" id generation infrastructure
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-17 18:12:48 +02:00
Emmanuel Jannetti 320e282ccc HHH-15752 Add Boolean support to oracle dialect 2024-05-16 20:16:48 +02:00
Christian Beikov fcab4df57d HHH-15752 Handle booleans in aggregate components properly 2024-05-16 20:15:49 +02:00
Philippe Marschall e2c1869e27 HHH-18116 Support slow query logging for stored procedures 2024-05-16 19:38:56 +02:00
Marco Belladelli ce48a51eaa Fix CockroachDB timestampdiff errors caused by `round()` return type 2024-05-16 08:56:23 +02:00
Yoann Rodière d1be36b303 HHH-18112 Fix and test default version handling for non-Oracle dialects 2024-05-15 11:54:32 +02:00
Dmitry Kryukov 43b67389cf HHH-18118 fixed comparison of class field with itself 2024-05-15 11:12:23 +02:00
Gavin King 7c8690592e fix test, since locking strategy now wraps LockTimeoutException
I'm conflicted about this, but it's more consistent, since we
wrap all other JDBCExceptions. And since LockTimeoutException
is a JDBCException, it must be interpreted as belonging to that
lower semantic layer.

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-14 16:55:17 +02:00
Gavin King 54d34a445c clean up locking strategies
- remove duplicated code
- handle UPGRADE_NOWAIT and UPGRADE_SKIPLOCKED as flavors of
  PessimisticWriteSelectLockingStrategy
- improve Javadoc

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-14 16:55:17 +02:00
Gavin King 1b67ebee60 HHH-4301 eliminate unnecessary DELETE for collections with @OnDelete(CASCADE)
This change works for @ElementCollection and @ManyToMany

In future we could do a similar thing for @OneToMany and SET_NULL

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-14 14:44:39 +02:00
ettavolt ad8fe58cf1 HHH-4301 Allow OnDelete on ElementCollection.
CollectionBinder#oneToMany is only for association, not for element collection:
#scheduleSecondPass expects MappedBy, which is only available for associations;
#detectMappedByProblem really wants to check association, because only for it JPA requires join table by default;
#noAssociationTable cares about association again, because otherwise element won't be a persistent class;
#bindManyToManySecondPass:
  #logManyToManySecondPass uses oneToMany only to differentiate between different collection of entities;
  #bindManyToManyInverseForeignKey is run for association only.
2024-05-14 14:44:39 +02:00
Marco Belladelli 1c11dea006 HHH-1152 Discriminator based inheritance for embeddable types 2024-05-14 11:13:36 +02:00
Christian Beikov 8b5cdba5bc HHH-18089 Support bracket syntax with string types 2024-05-13 22:11:15 +02:00
Christian Beikov c8aa4f39da HHH-17375 Introduce array_includes() and INCLUDES predicate for checking if array contains all elements of subarray as replacement to array_contains() overload 2024-05-13 22:11:15 +02:00
Christian Beikov dcedc5cf18 HHH-17375 Support array on RHS of in predicate 2024-05-13 22:11:15 +02:00
Christian Beikov 5c6a2f4a7d HHH-17375 Introduce intersects predicate for easy array_intersects, the replacement of array_overlaps 2024-05-13 22:11:15 +02:00
Christian Beikov 6c34a0a4a6 HHH-17375 Introduce contains predicate for easy array containment checking 2024-05-13 22:11:15 +02:00
Christian Beikov 64dd9e657c HHH-17375 Support casting array to string and add optional third argument to array_to_string for null element handling 2024-05-13 22:11:15 +02:00
Christian Beikov 8ec90b8fb1 HHH-17375 Overload position function with array_position semantics on array input 2024-05-13 22:11:15 +02:00
Christian Beikov 35102836c7 HHH-17375 Overload length function with array_length semantics on array input 2024-05-13 22:11:15 +02:00
Christian Beikov b74992198c HHH-17375 Shorthand bracket syntax for array slicing 2024-05-13 22:11:15 +02:00
Christian Beikov 67d04577be HHH-17375 Shorthand bracket syntax for array construction 2024-05-13 22:11:15 +02:00
Cedomir Igaly 9f06bbb69e HHH-18102 Patch fixing the problem 2024-05-13 18:37:45 +02:00
Cedomir Igaly fd3cb949a7 HHH-18102 Little bit of cosmetics to allow merging with PR 8095; it is not affecting any logic 2024-05-13 18:37:45 +02:00
Yanming Zhou df7f104689 HHH-18033 Fix LimitHandler detect wrong statement end if sql contains quoted semicolon 2024-05-13 10:20:16 +02:00
Gavin King 7b0d66782d HHH-18098 don't write to cache when entity extends with @Cacheable(false)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-11 16:42:12 +02:00
Gavin King 47da22183b HHH-18098 improve test for @Cacheable(false)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-11 16:42:12 +02:00
Marco Belladelli 77f6af42e7 Tests for `order by` expression(s) not included in `select` clause 2024-05-10 14:11:36 +02:00
Sanne Grinovero 08028be1e9 HHH-18094 Bytebuddy enhancer: make better use of constants and memory 2024-05-10 10:01:04 +01:00
Marco Belladelli b051936204 Use round in CockroachDB timestampdiff pattern to avoid rounding errors 2024-05-09 08:49:00 +02:00
Yoann Rodière fa35e99543 HHH-18080 Fix default version handling in dialects when not using JDBC metadata
* Use the minimum supported version instead of '0.0.0'
* Don't warn about version '0.0.0'
2024-05-08 07:08:14 -05:00
Gavin King dc0ca6382f HHH-18077 extremely minor cleanup after fix
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-07 22:11:39 +02:00
Marco Belladelli 5512281a5e Fix TiDB timestampdiff pattern 2024-05-07 21:10:20 +02:00
Christian Beikov d1b30e1ab8 HHH-15862 Support basic array values in aggregate components 2024-05-07 21:00:12 +02:00
Gavin King ccaefc168a introduce include/exclude options for HibernateProcessor
and rename @Suppress -> @Exclude

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-07 20:20:16 +02:00
Jere Penttinen 4ae64eeb3f HHH-18077 Fix key selection paging to previous pages 2024-05-07 20:17:49 +02:00
Jere Penttinen eef5cc2536 HHH-18077 Add test for issue 2024-05-07 20:17:49 +02:00
Marco Belladelli 4c9b8b1e04 Fix Oracle test missing order by expression in select distinct 2024-05-07 11:10:11 +02:00
Yoann Rodière 1441504c3b HHH-18079 Default to minimum supported DB version in more cases
In particular when using hibernate.boot.allow_jdbc_metadata_access=false with jakarta.persistence.database-product-name
2024-05-07 10:52:30 +02:00
Christian Beikov 3ce6a1351a HHH-17421 Ensure that no follow-on locking happens on SQL Server and Sybase ASE 2024-05-07 08:16:49 +02:00
Simon StJohn-Green e18bf7b6b4 HHH-17421 Test that no follow-on locking happens on SQL Server and Sybase ASE 2024-05-07 08:16:49 +02:00
Christian Thiel e8426692e4 HHH-17305 Test and fix for keeping order of tables in polymorphic queries 2024-05-06 17:48:48 +02:00
Gavin King 0c7c81cce7 enable test on cockroach
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-06 17:17:21 +02:00
Christian Beikov a81fae743c HHH-17229 Test and fix for handling negative milliseconds from java.sql.Time 2024-05-06 17:08:54 +02:00
Christian Beikov b21d70ef74 HHH-17385 Missing table for superclass when joining subclass association 2024-05-06 16:18:41 +02:00
Andrea Boriero 9d54924c79 HHH-18032 CompositeId, when the id assigned by PrePersist method an HibernateException: identifier of an instance of _ was altered is thrown 2024-05-06 14:51:55 +02:00
Andrea Boriero 480e09fc4c HHH-18032 Add test for issue 2024-05-06 14:51:55 +02:00
Gavin King f7708d59ac mark an unused deprecated method for removal
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-06 14:35:12 +02:00
Marco Belladelli 43f9d20773 HHH-17827 Fix check for Map dynamic entity classes 2024-05-06 14:29:11 +02:00
Marco Belladelli 041bedd70a HHH-17827 Add test for issue 2024-05-06 14:29:11 +02:00
Marco Belladelli 3bbc90fb9b HHH-17834 Force version increment for the correct inheritance table 2024-05-06 14:27:10 +02:00
Marco Belladelli fa9e87c675 HHH-17834 Add test for issue 2024-05-06 14:27:10 +02:00
Christian Beikov 538e208866 HHH-18046 Fix Hana issue with binary arithmetic parameter 2024-05-06 12:16:52 +02:00
Gavin King 79c1bf2cd7 more tests for literals in duration arithmetic 2024-05-06 12:07:58 +02:00
Gavin King 5220e82e83 fix bug parsing date literals
and make related code more typesafe so this doesn't happen again

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-06 12:07:58 +02:00
Marco Belladelli 7f00e1a59d HHH-18053 Fix CockroachDB `TemporalUnit.NATIVE` interval pattern 2024-05-06 10:37:37 +02:00
Marco Belladelli 5e9223ee5c HHH-18053 TiDB timestampadd/diff pattern for fractional seconds 2024-05-06 10:37:37 +02:00
Gavin King b982bf54b5 fix addition of fractional second duration on SQL Server
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Christian Beikov 9011d22315 HHH-18043 Change the temporal arithmetic to use nanoseconds 2024-05-03 23:14:58 +02:00
Gavin King 14216fc267 test for adding duration to a LocalTime
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 37018d2570 enable some commented tests in FunctionTests
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King ac40e37700 fix for datetime subtraction on DB2
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00