Commit Graph

11794 Commits

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