18765 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
Gavin King
327399e801 add some javadoc links from Tuning chapter
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-14 14:32:38 +02:00
Gavin King
43a8851d51 some more documentation about lock modes
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-14 14:19:54 +02:00
Gavin King
8c3b68cd78 document what to do when no JDBC DatabaseMetaData
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-14 11:34:28 +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
dependabot[bot]
6c805f0637 Bump com.gradle.develocity from 3.17.2 to 3.17.3
Bumps com.gradle.develocity from 3.17.2 to 3.17.3.

---
updated-dependencies:
- dependency-name: com.gradle.develocity
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 21:12:03 +02:00
marko-bekhta
98e09163e1 Provide a way to override global env properties in a test ConnectionProviderBuilder 2024-05-13 21:10:42 +02:00
Dmitry Kryukov
0abc479118 HHH-18105 added missing semicolon in CSS file 2024-05-13 21:09:11 +02:00
Cedomir Igaly
9f06bbb69e HHH-18102 Patch fixing the problem 2024-05-13 18:37:45 +02:00
Cedomir Igaly
6bf358d324 HHH-18102 - Test case showing 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
Sanne Grinovero
e41071a072 HHH-18091 Upgrade to ByteBuddy 1.14.15 2024-05-09 10:06:39 +01:00
Marco Belladelli
b051936204 Use round in CockroachDB timestampdiff pattern to avoid rounding errors 2024-05-09 08:49:00 +02:00
Steve Ebersole
d7c1886aaa Gradle remote build cache 2024-05-08 18:35:58 +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
fec6f862d9 fix problem in definition of @WithProcessorOption
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-07 20:20:16 +02:00
Gavin King
503cd3e9ed add test for include/exclude
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-07 20:20:16 +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