Commit Graph

11778 Commits

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