Commit Graph

12140 Commits

Author SHA1 Message Date
Marco Belladelli 055570c8af HHH-18212 Fix transient check for entities deleted during the same flush 2024-06-13 18:06:09 +02:00
Marco Belladelli 52a539d727 HHH-18212 Add test for issue 2024-06-13 18:06:09 +02:00
Andrea Boriero a567226a72 HHH-17956 Criteria multiselect ignores type of the criteria query and always returns list of Object[] 2024-06-13 11:21:54 +02:00
Andrea Boriero f5062b2aef HHH-17956 Add test for issue 2024-06-13 11:21:54 +02:00
Jan Schatteman 9c4baed5ae HHH-10162 - Add test
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-06-13 10:18:14 +02:00
Jan Schatteman 9da230a616 HHH-12885 - Add test
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-06-13 10:18:14 +02:00
Jan Schatteman 223328ff2f HHH-12752 - Add test
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-06-13 10:18:14 +02:00
Marco Belladelli 2772a9d6fb HHH-18218 - Fix possible null pointer 2024-06-12 16:15:28 +02:00
Cedomir Igaly 4c8e72c5ec HHH-18218 - Improved type resolving when tuple element implements SqmExpressibleAccessor 2024-06-12 16:05:27 +02:00
Cedomir Igaly 9e13bd0c48 HHH-18218 - Added test case not using explicit constructor new ConstructorDto(...) 2024-06-12 16:05:27 +02:00
LLEFEVRE c2d0763b64 HHH-18220 Detect if Application Continuity is enabled for Oracle dialect 2024-06-12 16:03:44 +02:00
LLEFEVRE 7c711751dd HHH-18220 Detect if Application Continuity is enabled for Oracle dialect 2024-06-12 16:03:44 +02:00
Gavin King 58e814965e improvements to filter-related javadoc
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-12 13:57:39 +02:00
Andrea Boriero 8663136608 Improve Sybase and SQLServer blob lob generation 2024-06-12 13:36:59 +02:00
Andrea Boriero 55eea3d0df HHH-16094 HHH-17097 MySQL schema generation and validation : tinytext instead of longtext for @Lob 2024-06-12 13:36:59 +02:00
Andrea Boriero 5b9057e2ed HHH-16094 Add test for issue 2024-06-12 13:36:59 +02:00
Andrea Boriero eaa94b1305 HHH-17097 Add test for issue 2024-06-12 13:36:59 +02:00
Andrea Boriero 357be627e2 HHH-18147 Hibernate fails to persist an entity when a natural id association is a proxy 2024-06-12 13:30:27 +02:00
Andrea Boriero f87cecee0e HHH-18147 Add test for issue 2024-06-12 13:30:27 +02:00
Davide D'Alto 26f6cdab03 HHH-18254 Change `NativeQueryImpl#createCountQueryPlan` scope to protected
So that I can re-use the code when implementing ReactiveSelectQueryPlan#getReactiveResultsCount in Hibernate Reactive
2024-06-12 13:20:44 +02:00
Christian Beikov f7093239d9 HHH-18125 Fix type of embeddable discriminator paths and type literals
Build and store the embeddable discriminator type in the Component. Also, change the type of entity/embeddable type literals to the discriminator type (or `Class` when not polymorphic).
2024-06-12 13:18:03 +02:00
Christian Beikov e2f7d5d516 HHH-16830 Custom exception handling for applyToLoadByKey associations 2024-06-12 12:19:33 +02:00
Christian Beikov d22725a678 HHH-16830 Add applyToLoadByKey filters also to to-one join predicates 2024-06-12 12:19:33 +02:00
Christian Beikov be8705f317 HHH-16830 Ensure filters applied for by key lookups don't mess with to-one associations 2024-06-12 12:19:33 +02:00
Dmitrii Karmanov 4125902eea HHH-16830: change the naming 2024-06-12 12:19:33 +02:00
Dmitrii Karmanov af778c4eba HHH-16830: fix checkstyle indents 2024-06-12 12:19:33 +02:00
Dmitrii Karmanov b20680dbd8 HHH-16830: fix checkstyle in tenant binder 2024-06-12 12:19:33 +02:00
Dmitrii Karmanov e721a37691 HHH-16830: apply filters to find() method 2024-06-12 12:19:33 +02:00
Sanne Grinovero 0a19854ae2 Keep dependency repository definitions well defined 2024-06-12 09:23:20 +02:00
Vladimír Kuruc aa9f3d091c HHH-18250 Informix multi insert not supported 2024-06-12 00:26:07 +02:00
Andrea Boriero 8166086957 Upgrade Gradle to 8.8, upgrade checkframework to 0.6.40, fix HibernateProcessor resources creation causing whole tests recompilation 2024-06-11 23:46:57 +02:00
Steve Ebersole d1c80e1462 HHH-17829 - [MySQL] Schema-validation: wrong column type encountered in column [activated] in table [jhi_user]; found [tinyint (Types#TINYINT)], but expecting [bit (Types#BOOLEAN)]
Test that using `hibernate.type.preferred_boolean_jdbc_type` allows successful validation
2024-06-11 07:49:50 -05:00
Steve Ebersole 45ea24d102 HHH-17829 - [MySQL] Schema-validation: wrong column type encountered in column [activated] in table [jhi_user]; found [tinyint (Types#TINYINT)], but expecting [bit (Types#BOOLEAN)]
Test that using `hibernate.type.preferred_boolean_jdbc_type` allows successful validation
2024-06-11 07:49:50 -05:00
Christian Beikov 0663f811ff HHH-18256 Don't prefix literal type prefix in SQL fragments 2024-06-11 14:42:48 +02:00
Marco Belladelli c08b1b9bf1 HHH-18202 Fix group/order by fk rendering handling nested paths
Introduced generalized `MetadataKey`-based resolutions with caching in `BaseSqmToSqlAstConverter`
2024-06-10 15:50:32 +02:00
Marco Belladelli 01199d2c1f HHH-18202 Add test for issue 2024-06-10 15:50:32 +02:00
Christian Beikov da22678c74 HHH-18154 Implement caching for assemblers and initializers
* Make initializers stateless and have separate data classes stored in the RowProcessingState
* Defer determination whether batching should apply and which lock mode should be used until startLoading
* Inline EntityEntry to EntityHolder to avoid map lookup
2024-06-10 09:48:01 +02:00
Christian Beikov 8100f92265 HHH-18232 Use change table modifier new and final consistently on DB2 and zOS 2024-06-07 15:02:34 +02:00
Marco Belladelli 0534e1aa01 HHH-18218 Account for generics in dynamic instantiation arguments 2024-06-07 13:39:48 +02:00
Marco Belladelli feaf30e578 HHH-18218 Add test for issue 2024-06-07 13:39:48 +02:00
LLEFEVRE ba88e401c2 HHH-18242 23ai supports natively Tuple Comparison 2024-06-06 18:36:08 +02:00
Christian Beikov 5a889f7d56 HHH-17782, HHH-17901 Support enum literals in annotation processor HQL validation 2024-06-06 16:40:28 +02:00
Gavin King de3a4c0af9 HHH-17804 roll back change to semantics of 'null in ()'
It turns out that SQL databases (IMO wrongly) treat the expression
'null in (select 1 where false)' as false instead of null. And as
of JPA 3.2, we're free to interpret 'null in ()' consistently with
that, which we should do.

So my change made things worse rather than better.

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-06 16:17:41 +02:00
Marco Belladelli 15cbebbbf9 HHH-18121 Replace dynamic instantiations for non-simple count queries 2024-06-06 08:59:51 +02:00
Marco Belladelli 8f217c886f HHH-18121 Add test for issue 2024-06-06 08:59:51 +02:00
Marco Belladelli d1e126b2ab
HHH-18212 Revert test and fix for issue causing transient check failure
The unowned `contained` association caused a `TransientObjectException` since it was removed but a reference to it was still kept in the test.
2024-06-05 17:50:53 +02:00
Gavin King c1433ffdf0 rename cascade type from DELETE to REMOVE (aligning with JPA terminology)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 16:08:43 +02:00
Gavin King a6ef6d1b55 HHH-18230 disable exception when collection is unowned
I just feel like that's a bit too heavy-handed

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 16:08:43 +02:00
Gavin King aa91138b6b HHH-18230 throw when collection contains an unsaved instance
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 16:08:43 +02:00
Christian Beikov cf0e4d4622 HHH-18201 Handle SqmBinaryArithmetic in determineValueMapping 2024-06-05 15:13:52 +02:00
Christian Beikov dba38f84fc HHH-18201 Configure NO_PLAIN_PARAMETER rendering mode for timestamps in timestampadd and -diff 2024-06-05 15:13:52 +02:00
Cedomir Igaly edbece8125 HHH-18201 - Do not make any assumptions when LHS operand of addition/subtraction is not known
and RHS operand is of duration type.
	    Allowed combinations are
		templral +/- duration
		duration +/- duration
	    nut final decision can be only make knowing full context
2024-06-05 15:13:52 +02:00
Cedomir Igaly ca581e74f4 HHH-18201 - Test case
Executing query comparing instant field with parameter (set to instant value) increased by duration
	    Executing query comparing local date field with parameter (set to local date value) increased by duration
	    Executing query comparing duration field with parameter (set to duration value) increased by duration
2024-06-05 15:13:52 +02:00
Marco Belladelli c5cbe20bd1 HHH-18212 Handle entity in existing state removed from current session 2024-06-05 15:12:51 +02:00
marko-bekhta 46e0f43567 HHH-18212 Add a testcase for the issue 2024-06-05 15:12:51 +02:00
Marco Belladelli 4ed529c289 HHH-18172 Validate exclusivity of annotated class types 2024-06-05 15:12:21 +02:00
Marco Belladelli 9aaebe312a HHH-18172 Fix embeddable inheritance + `@MappedSuperclass` binding 2024-06-05 15:12:21 +02:00
Marco Belladelli 547fe55ecc HHH-18172 Add test for issue 2024-06-05 15:12:21 +02:00
Gavin King d54f71f81c HHH-6999 optimization
don't need to run CHECK_ON_FLUSH with cascade=ALL,
since ALL includes PERSIST_ON_FLUSH

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 11:58:39 +02:00
Vincent Bouthinon 4308c5dac5 HHH-15722 @OneToMany mappedBy with a @Any 2024-06-05 08:33:04 +02:00
Gavin King 20d26a0126 HHH-9568/HHH-9571 fix orphanRemoval in JPA bootstrap
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 02:17:36 +02:00
Gavin King faff6f0b8f HHH-6999 fix a broken test
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 00:14:06 +02:00
Gavin King ccff1effed remove unused method
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 00:14:06 +02:00
Gavin King 04223f5cb9 HHH-6999 check for unsaved refs after processing all cascaded persist operations
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 00:14:06 +02:00
Gavin King 7b9b495f31 minor code changes (use of final)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 00:14:06 +02:00
Gavin King 1a93a081e1 minor change to formatting of error messages
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 00:14:06 +02:00
Gavin King 92f61c0956 light refactoring to ForeignKeys
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-05 00:14:06 +02:00
Marco Belladelli 224e8ca57a HHH-17959 Apply concrete type to subqueries with single selection 2024-06-04 16:46:40 +02:00
Marco Belladelli f2f0e18da8 HHH-17959 Add test for issue 2024-06-04 16:46:40 +02:00
Andrea Boriero 78cf552065 HHH-18146 Switch to global temporary tables on H2 2024-06-04 14:26:25 +02:00
Vladimír Kuruc 753076bb40 HHH-18221 Fix for Incomplete list of existing foreign keys - DatabaseMetaData.crossReferences(...) not used 2024-06-04 13:52:19 +02:00
Jan Schatteman f71a408df8 HHH-17973 - Deprecate ALLOW_REFRESH_DETACHED_ENTITY
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2024-06-04 11:27:49 +02:00
Loïc LEFEVRE ef1cbf589d
HHH-18206 Switch to JDBC LOB APIs for Oracle Dialect (#8486)
HHH-18206 Switch to JDBC LOB APIs for Oracle Dialect
2024-06-02 18:29:52 +02:00
Gavin King 18ec7f178e HHH-18215, HHH-2744 test
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-02 16:26:25 +02:00
Gavin King 6435137800 HHH-18215, HHH-2744 fix parsing of native SQL queries to handle quoting
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-02 16:26:25 +02:00
Gavin King eb74c7641c squash some warnings
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-02 14:23:31 +02:00
Gavin King 86ddd203a0 remove redundant calls to checkOpen()
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-02 14:23:31 +02:00
Gavin King cf0b9089a4 clarify semantics of StatelessSession.upsert() in javadoc
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-02 14:23:31 +02:00
Gavin King 1a5456dde1 HHH-18216 add StatelessSession.getIdentifier()
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-02 13:32:51 +02:00
Gavin King 1657a19baf HHH-18214 fix error message when query result type has no appropriate constructor
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-06-01 21:36:44 +02:00
Steve Ebersole 1861eccc2c Upgrade XJC plugin to address branch-switch issues 2024-05-31 11:57:34 -05:00
Marco Belladelli 1866fc56d6 HHH-17968 Fix missing CTE processing in subqueries 2024-05-31 15:48:45 +02:00
Marco Belladelli 33f17b0195 HHH-17968 Add test for issue 2024-05-31 15:48:45 +02:00
marko-bekhta 045053ff8a HHH-17030 Followup: move schema check to launcher listener 2024-05-31 15:22:00 +02:00
Marco Belladelli 86a2b19b77
Add missing newline 2024-05-31 13:46:22 +02:00
Marco Belladelli 068b9d9cdd Mark org.hibernate.generator.values as `@Incubating` 2024-05-31 12:54:42 +02:00
Gavin King 407e57d442 HHH-18205 respect property-configured naming strategies in Configuration
and make the state model more transparent

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-31 01:53:49 +02:00
Matej Pucihar 08d0d78147 HHH-18151 Fix lazy loading with generics and inheritance 2024-05-29 09:04:58 +02:00
Matej Pucihar 26c0054753 HHH-18151 Add test for issue
Co-authored-by: Marco Belladelli <marcobladel@gmail.com>
2024-05-29 09:04:58 +02:00
Matej Pucihar 81d700c382 HHH-18138 entity graphs must respect concrete generic attribute
Co-authored-by: Marco Belladelli <marcobladel@gmail.com>
2024-05-29 09:04:08 +02:00
Matej Pucihar 7ef0680601 HHH-18138 Add test for issue 2024-05-29 09:04:08 +02:00
Gavin King 4dad4746a8 HHH-18176 enable an older test on Oracle
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-28 22:25:16 +02:00
Gavin King 8c78c44bda HHH-18176 upsert() with @Version-ed entity on Oracle
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-28 21:32:13 +02:00
Gavin King e21a590e7d HHH-18175 StatelessSession not incrementing @Version for entities with IDENTITY id generation
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-28 19:01:35 +02:00
Marco Pelagatti d33ed62b21 HHH-18170 Subquery randomly generating wrong SQL due to duplicate alias 2024-05-28 11:22:04 +02:00
Philippe Marschall ba149a1cdc HHH-18111 Call EventManager for stored procedures 2024-05-27 16:24:32 +02:00
Marco Belladelli 07bfe6ad73 HHH-17925 Allow mapping join column on single attribute of composite id 2024-05-27 16:22:15 +02:00
Marco Belladelli 8557c5cd84 HHH-17925 Add test for issue 2024-05-27 16:22:15 +02:00
Marco Belladelli 758a660bca HHH-18007 Use correct expressible when checking query result type 2024-05-27 16:17:54 +02:00
marko-bekhta e036509487 HHH-18007 Add a testcase for the issue 2024-05-27 16:17:54 +02:00
Christian Beikov 47b63e51b9 HHH-18168 Use count(*) instead of count(1) for size() translation 2024-05-27 15:56:39 +02:00
Yanming Zhou 11da1ec25a Introduce AbstractNamedEnumTest 2024-05-27 15:22:19 +02:00
Guenther Demetz 53398df5f3 HHH-16557 Testcase and bugfix proposal (revised by beikov) 2024-05-27 14:36:06 +02:00
Christian Beikov fcc7216911 HHH-18027 Clear expansions NonSelectQueryPlan.executeUpdate call 2024-05-27 14:22:49 +02:00
Yanming Zhou e8d396ccbd HHH-18027 Test mutation query reuse with parameter list expansions 2024-05-27 14:22:49 +02:00
Gavin King 3ba2958e5d extract two methods / code style
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-27 11:15:18 +02:00
Yanming Zhou 9d015ac7ea HHH-18164 Make @IdGeneratorType respect BeanContainer 2024-05-27 09:49:48 +02:00
Marco Belladelli 3226679898 HHH-17161 Align `StandardTableGroup` table reference join name checks 2024-05-27 08:51:31 +02:00
Konrad Kügler a7b97f25fa HHH-17161 Add test for issue 2024-05-27 08:51:31 +02:00
Gavin King bbb596b23e improve javadoc for hibernate.event.merge.entity_copy_observer
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-26 19:39:35 +02:00
Gavin King e3cf006e76 HHH-18166 introduce hibernate.jpa.compliance.cascade
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-26 11:12:44 +02:00
Gavin King ffab0d8026 trivial code cleanups to AbstractLazyInitializer
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-24 15:21:28 +02:00
Gavin King ebd8619f73 HHH-18162 index creation in HibernateProcessor
This stores an index of entities and enum values in the
entity.index directory. This approach has some downsides
but works around some limitations of the processor API.

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-23 23:09:07 +02:00
Christian Beikov ed2fdce0a6 HHH-15831 Support non-basic values in aggregate components 2024-05-23 19:56:29 +02:00
Cedomir Igaly 51f0692240 HHH-18117 Proposed solution 2024-05-23 12:42:59 +02:00
Cedomir Igaly 8792326b01 HHH-18117 Test case 2024-05-23 12:42:59 +02:00
Yanming Zhou 644a9aebbc HHH-17909 Improve test to cover schema generated by named ordinal enum 2024-05-23 12:30:52 +02:00
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
Gavin King 064526a5c6 disable test for extract() on SQL Server
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 98b014c789 assertions for extract(offset hour/minute)
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 8c6241a7d7 add a test for datetime subtraction with fractional seconds
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 5941aca7ac make adding fractional seconds work on h2 and HSQL
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 87516a77b7 tests for adding fractional seconds to timestamp
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 23:14:58 +02:00
Gavin King 0cfb52d127 HHH-18067 get rid of a typecast to AbstractPersistentCollection
and code cleanups

(Note that this typecast has actually been there since 2012,
though it only used to happen when batching was enabled.)

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 22:11:32 +02:00
Gavin King 138e0bba01 HHH-18023 treat LockMode.WRITE as similar to PESSIMISTIC_FORCE_INCREMENT
consistent with the similar levels they have

cc @beikov

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 20:52:00 +02:00
Gavin King 8a133ac120 HHH-18068 fix case-insensitive Order
can't use ordinal column refs inside lower()

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 20:51:51 +02:00
Gavin King bea5e4cf3d HHH-18068 tests for case-insensitive Order
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-03 20:51:51 +02:00
Christian Beikov 2932933c43 HHH-18066 Support de-referencing function invocation with dot and bracket syntax 2024-05-03 18:10:38 +02:00
Christian Beikov 940c898ecf Various improvements:
* Sprinkle some @Nullable annotations to better understand nullness guarantees
* Fix some potential NPEs
* Improve Oracle array_agg emulation
* Prepare for aggregate component array support
2024-05-03 16:49:39 +02:00
Christian Beikov 75e1f17139 HHH-18065 Truncate date related milliseconds from value passed to java.sql.Time 2024-05-03 16:10:54 +02:00
Christian Beikov 17fec64fd7 Make the JDBC type to use for array/collection types configurable 2024-05-03 16:07:19 +02:00
Marco Belladelli b273c17592 Skip binary arithmetic parameter inference test for CockroachDB 2024-05-03 15:12:31 +02:00
Marco Belladelli 2769fd1b3c Set `serial_normalization` to avoid Integer overflow 2024-05-03 15:12:31 +02:00
Marco Belladelli f5de1972e7 Fix java 17 bytecode-enhanced test missing imports 2024-05-03 10:37:45 +02:00
Marco Belladelli b16b891be0 HHH-17837 Render target-side key for explicit plural joins when needed
Also, change how we determine whether we need to use the target-side to only the strictly needed cases (non-optimizable joins, `group by` or `order by` clauses)
2024-05-03 08:48:20 +02:00
Marco Belladelli 21bfc5c19f HHH-17837 Add test for issue 2024-05-03 08:48:20 +02:00
Gavin King d0ed4d01f2 squash some compiler warnings
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-02 20:18:27 +02:00
Gavin King 72261fd806 HHH-18020 realign behavior of ClobJdbcType with BlobJdbcType
there was some organic divergence here
2024-05-02 20:18:27 +02:00
Gavin King c955150b27 minor code cleanups
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-05-02 20:18:27 +02:00
Christian Beikov 88bdfbfbd4 HHH-18046 Cast parameters used as arithmetic operands on DB2 2024-05-02 18:18:49 +02:00
Christian Beikov 5d4ffac58d HHH-18018 Use NO_PLAIN_PARAMETER for Derby functions that use the length function 2024-05-01 10:33:24 -05:00
marko-bekhta 19e495d8da Convert bytecodeenhanced tests to use JUnit 5 extensions 2024-05-01 07:36:14 -05:00
Sanne Grinovero 85364a2c53 HHH-18011 Extract reusable constants from EnhancerImpl 2024-05-01 11:59:35 +01:00
Sanne Grinovero a92bf606a9 HHH-18011 Extract DefaultEnhancerClassFileLocator and allow using a different implementation 2024-05-01 11:59:35 +01:00
Christian Beikov 3578ed845f HHH-18036 Truncate time-related milliseconds when creating a java.sql.Date 2024-05-01 00:08:25 +02:00
Yanming Zhou ecaeea414d HHH-18034 Configuration property `hibernate.event.listener.eventType` should be more lenient against spaces 2024-04-30 11:57:12 +01:00
Gavin King fe7b3c9e7e HHH-18023 fix questionable test
PESSIMISTIC_READ is not really a "more exclusive" lock than UPGRADE_NOWAIT

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-28 20:37:18 +02:00
Gavin King 1e0e0ac02b HHH-18023 fix wrong test assertions
OPTIMISTIC means the version gets checked at end of tx,
this lock mode is never acquired implicitly

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-28 20:37:18 +02:00
Gavin King 1657702015 HHH-18024 fix getLockMode() on read-only entity
it resulted in spurious exception claiming entity was deleted

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-28 20:37:18 +02:00
Gavin King 789cc12b8e HHH-18023 fix bugs with versioned LockModes
- NPE at commit time for OPTIMISTIC on entity with no version
- LockMode.OPTIMISTIC treated as equivalent to LockModeType.OPTIMISTIC

Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-28 20:37:18 +02:00
Gavin King 39a6f9880b clean up CacheModeHelper
Signed-off-by: Gavin King <gavin@hibernate.org>
2024-04-28 20:37:18 +02:00