Commit Graph

9218 Commits

Author SHA1 Message Date
Christian Beikov e61baab946 HHH-15501 Remove clause parameter of Bindable forEachDisassembledJdbcValue and forEachJdbcValue 2022-12-15 10:26:47 +01:00
Sanne Grinovero cacba9a205 HHH-15867 Avoid runtime services lookup for JdbcServices and BatchBuilder 2022-12-14 21:48:06 +00:00
rgarcia de68924ad2 HHH-15859 Fetching an entity with entity graph for an attribute of type Map fails with an assertion error 2022-12-14 20:23:55 +01:00
Andrea Boriero c67b3f984a HHH-15741 Explicit declaration assigned identifier generator does not work 2022-12-14 20:03:40 +01:00
Andrea Boriero b5a594004f HHH-15741 Add test for issue 2022-12-14 20:03:40 +01:00
Andrea Boriero 9341df0b8b HHH-15759 Entity with @CollectionTable and entity with relation to element collection table, cause generate wrong FK, if first entity key field lexicographically after collection element. 2022-12-14 20:02:49 +01:00
Andrea Boriero d95bb9c40e HHH-15759 Add test for issue 2022-12-14 20:02:49 +01:00
Andrea Boriero 733e6cafdb HHH-15840 HibernateException: Found shared references to a collection when loading a collection from the cache 2022-12-14 20:00:13 +01:00
Andrea Boriero 7ec8668734 HHH-15840 Add test for issue 2022-12-14 20:00:13 +01:00
LLEFEVRE 2509b74201 HHH-15755: Let OracleDialect detect if running on Autonomous database 2022-12-14 19:28:03 +01:00
Christian Beikov 6777f4f7ac Fixup batch method naming 2022-12-14 19:26:07 +01:00
Marco Belladelli 3c287d4429 HHH-15768 Don't set deprecated settings from PUI 2022-12-14 19:06:20 +01:00
Marco Belladelli 540b8ec684 HHH-15768 Add test for issue 2022-12-14 19:06:20 +01:00
Karel Maesen 723ca11f34 HHH-15869 Use explicit transactions for all SQL operations
The test fails on e.g. CockroachDB 21.2 because first DDL is in a Transaction
but not the other DML/DDL statements.
2022-12-14 19:04:02 +01:00
Marco Belladelli 7a7acfe120 HHH-15654 Add @Incubating annotations 2022-12-14 19:03:14 +01:00
Marco Belladelli 5feb44026c HHH-15654 Fix SQL errors for some DBs + documentation for new interfaces 2022-12-14 19:03:14 +01:00
Marco Belladelli 6d9c448db2 HHH-15654 Added 'simple' aggregate functions and frame APIs for JpaWindows 2022-12-14 19:03:14 +01:00
Marco Belladelli 28b0d6c5a4 HHH-15654 Overrides and small changes in the API interface 2022-12-14 19:03:14 +01:00
Marco Belladelli 9a980b3f93 HHH-15654 Add overloads to ordered-set aggregate functions without filter 2022-12-14 19:03:14 +01:00
Marco Belladelli 2f1f6870b6 HHH-15654 Criteria APIs for window and ordered-set aggregate functions 2022-12-14 19:03:14 +01:00
Christian Beikov bc36eb3eeb HHH-15327 Support mapping aggregate embeddables as struct/json 2022-12-14 19:02:43 +01:00
Jan Schatteman 74f3c1715b Avoid possible NullPointerExceptions in AbstractCollectionPersister.logStaticSQL()
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-12-14 18:05:47 +01:00
Marco Belladelli f1b9909fb6 HHH-15736 Handle backslash escapes in like patterns 2022-12-14 17:25:16 +01:00
Steve Ebersole 1140f6072e HHH-15837 - Cleanup the tuple package 2022-12-14 10:05:54 -06:00
Sanne Grinovero a7274875ca HHH-15858 Improvements in Session casting 2022-12-14 16:04:19 +00:00
Sanne Grinovero 2c3ac612db HHH-15858 Cleanup of internal Session casts 2022-12-14 16:04:19 +00:00
Steve Ebersole 48c383121f HHH-15837 - Cleanup the tuple package 2022-12-14 09:25:59 -06:00
Steve Ebersole ac32410438 HHH-15837 - Cleanup the tuple package 2022-12-14 09:25:59 -06:00
Steve Ebersole 0b04dcef16 HHH-15837 - Cleanup the tuple package 2022-12-14 09:25:59 -06:00
Steve Ebersole 78c3edf695 HHH-15837 - Cleanup the tuple package 2022-12-14 09:25:59 -06:00
Steve Ebersole 33c00d78c3 HHH-15818 - Drop PropertyMapping in favor of new mapping-model 2022-12-14 09:25:59 -06:00
Marco Belladelli 3d72eabf6c HHH-15823 Fallback to value type ignoring typeInferenceSource 2022-12-14 15:04:03 +01:00
Marco Belladelli ba1feef1f8 HHH-15823 Add test for issue 2022-12-14 15:04:03 +01:00
Davide D'Alto 919e322600 HHH-15761 Avoid possible NullPointerException
In AbstractSqlAstTranslator
2022-12-14 12:12:27 +00:00
Davide D'Alto 20e7f1be9c HHH-15761 Change some scopes for Hibernate Reactive
Make it possible for Hibernate Reactive to call or override some
methods.
2022-12-14 12:12:27 +00:00
Davide D'Alto e84bf71b7f HHH-15761 Validate identifier generator
Having tyhe validation in a separate method, make it possible
to extend the class without causing a StackOverflow exception
when overriding the getter.
2022-12-14 12:12:27 +00:00
Davide D'Alto 7e36605a75 HHH-15761 Change scope of methods in QuerySqmImpl
For Hibernate Reactive
2022-12-14 12:12:27 +00:00
Davide D'Alto c9df6af30a HHH-15761 Extract creation of execution context in ConcreteSqmSelectQueryPlan 2022-12-14 12:12:27 +00:00
Gavin 5bdd79baf1 fix up use of qualified name in annotations 2022-12-14 12:21:45 +01:00
Christian Beikov acd4e0e36a Fix HANA test, skip one SQL Server test due to precision issues and get rid of old cruft in AbstractEntityPersister 2022-12-14 12:07:26 +01:00
Christian Beikov 92d447cddd Make use of JavaType in SqlSelection 2022-12-14 12:07:26 +01:00
Christian Beikov 30bb01d0fa Revert removal of JavaType from SqlSelectionProducer#createSqlSelection 2022-12-14 12:07:26 +01:00
Christian Beikov dfa3981a52 Make stored procedure and function calls through ProcedureCall API more portable 2022-12-14 11:21:06 +01:00
Gavin 72edfa77e4 minor fix to DDL formatter 2022-12-13 22:58:41 +01:00
Gavin 6348d9927e introduce TableMigrator and kill some code duplication 2022-12-13 22:56:44 +01:00
Marco Belladelli f2576d6b87 HHH-15745 Change string literal handling in HQL lexer 2022-12-13 18:20:14 +01:00
Marco Belladelli 1109dfbb1c HHH-15745 Add test for issue 2022-12-13 18:20:14 +01:00
Sanne Grinovero c105c34976 Minor code refactoring 2022-12-13 15:28:05 +00:00
Christian Beikov 371d2f1d49 Move getCheckCondition to BasicType and add variant to JdbcType for Oracle Booleans and other future uses 2022-12-12 20:13:52 +01:00
Gavin 919278aac2 HHH-15845 sort enum values on MySQL 2022-12-12 19:39:24 +01:00
Sanne Grinovero a5525a943f HHH-15853 Remove the AttributeMetadataAccess interface 2022-12-12 15:00:42 +00:00
Sanne Grinovero d2d40c7318 HHH-15853 Avoid re-computing AttributeMetadataAccess at runtime 2022-12-12 15:00:42 +00:00
Sanne Grinovero 58f8d3d449 HHH-15844 Introduce custom containers for AttributeMapping Lists and Maps 2022-12-12 10:55:08 +00:00
Gavin 33faa5b060 HHH-15847 run AttributeBinders in a SecondPass
so that they can do stuff like register converters and not
have the results hammered by the SecondPass registered by
BasicValueBinder.
2022-12-11 17:40:15 +01:00
Gavin 2b7eb6fc1c HHH-15847 introduce ConverterRegistry 2022-12-11 17:40:15 +01:00
Gavin 4d2f4988c8 HHH-15847 fix check constraint creation
- fix check constraints for built-in Boolean converters
- move getCheckCondition() + getSpecializedTypeDeclaration() from JavaType to BasicValueConverter
- simplify the API of Dialect related to check constraints
- recover check constraint for boolean on Oracle by letting Dialects register converters
- attempt to clean up some generics stuff in enum-related code
2022-12-11 17:40:15 +01:00
Gavin a25e53d1ab also use enum type for boolean->char mappings on MySQL 2022-12-10 12:45:59 +01:00
Gavin 413b9ba03e correct impl of MySQL.supportsColumnCheck() 2022-12-10 12:45:59 +01:00
Gavin baffbc0aae reenable check constraings on enum columns, and use MySQL enum column types
MySQL doesn't have real check constraints, but it does have something just as good for this special case
2022-12-10 01:48:35 +01:00
Gavin 7208bcea41 clean up some bodgy handling of "null" annotation values (empty strings) 2022-12-09 18:24:01 +01:00
Christian Beikov a9be2e1584 Fix temporal round in tests and render calendar with milliseconds precision 2022-12-08 16:15:40 +01:00
Gavin 7376a1cdfb improve some javadoc around settings 2022-12-08 11:48:41 +01:00
Gavin 2c8d6d719b improve some assertions in time zone tests + rename 2022-12-08 02:02:17 +01:00
Gavin 3196f2584b add yet another time zone test 2022-12-08 02:02:17 +01:00
Gavin d08498109b jdoc for schema management Action + for JDBC_TIME_ZONE 2022-12-07 23:57:02 +01:00
Karel Maesen c8723d3f14 HHH-15814 add methods for current time selection to CockroachDB Dialect 2022-12-07 22:35:53 +01:00
Gavin 7dff19795f attempt to fix continuing test flakiness on Sybase 2022-12-07 22:35:32 +01:00
Gavin 86ef33d55b clarify semantics of NORMALIZE 2022-12-07 19:24:57 +01:00
Gavin 5e9b57cf40 add one more test, this time for TIMEZONE_DEFAULT_STORAGE=NORMALIZE 2022-12-07 19:24:57 +01:00
Gavin 9660a0424f clarify AnnotationBasedGenerator vs constructor for Generators
this was unclear/misleading in the javadoc, as pointed out by @sebersole
2022-12-07 16:13:19 +01:00
Gavin 7bb066330a improve a couple of javadoc links 2022-12-07 15:18:58 +01:00
Gavin 512ad8c80d fix @Column(precision=p) with TimeZoneStorageType.COLUMN 2022-12-07 14:48:36 +01:00
Sanne Grinovero cceac72a22 HHH-15836 Cleanup unneccessary String <> Serializable casts in TimestampsCacheEnabledImpl 2022-12-07 13:42:04 +00:00
Andrea Boriero 23cff8bd10 HHH-15674 @NamedEntityGraph not working on entity that have composite PK 2022-12-07 14:03:13 +01:00
Andrea Boriero ff28d677ab HHH-15674 Add test for issue 2022-12-07 14:03:13 +01:00
Gavin a7a455c39a HHH-15834 add @TypeRegistration annotation 2022-12-07 13:36:15 +01:00
Jeremy Whiting 60468dadf0 HHH-15825 Avoid pointless autoboxing of timestamp. 2022-12-07 12:34:45 +00:00
Sanne Grinovero 52b143c613 HHH-15835 Avoid using functions in PersistenceContext#clear implementation 2022-12-07 12:28:56 +00:00
Gavin 6b1cbc0640 document the default behavior of time zone storage 2022-12-07 10:57:41 +01:00
Andrea Boriero cc570da296 HHH-15653 Named Native Query cannot be registered/used with named parameters 2022-12-07 08:46:33 +01:00
Andrea Boriero 0d2e39314f HHH-15653 Add test for issue 2022-12-07 08:46:33 +01:00
Gavin 015010febb let's see if this works 2022-12-07 00:00:05 +01:00
Gavin ef4ed9936e move timezone tests where they belong 2022-12-07 00:00:05 +01:00
Gavin ee66a93302 HHH-15828 fix setting TIMEZONE_DEFAULT_STORAGE to COLUMN 2022-12-07 00:00:05 +01:00
Gavin e53b55583b misc javadoc and refactorings around TimeZoneStorage stuff 2022-12-07 00:00:05 +01:00
Gavin 863dda5cf5 HHH-15820 make the default TimeZoneStorageStrategy for [Zoned|Offset]DateTime depend on the dialect
Define TimeZoneStorageType.DEFAULT, uses NATIVE if possible, falls back to NORMALIZE_UTC

so that for dialects with proper support for TIMESTAMP WITH TIME ZONE we use it

this is consistent with what we already do for Instant
2022-12-07 00:00:05 +01:00
Gavin a4f301814b HHH-15819 fix extract(offset hour from datetime)
bug noticed by @mrotteveel

improve the tests for extracting time zones
2022-12-07 00:00:05 +01:00
Marco Belladelli e088738687 HHH-15742 Always return inferred mapping for is-null clauses 2022-12-06 11:39:15 +01:00
Marco Belladelli cdfbc58bb9 HHH-15742 Add test for issue 2022-12-06 11:39:15 +01:00
Mark Rotteveel d91e878c66 HHH-15812 Remove dialect checks due to fix in #5699 2022-12-06 11:38:51 +01:00
Mark Rotteveel 9290f8b754 HHH-15812 Firebird dialect improvements 2022-12-06 11:38:51 +01:00
Andrea Boriero 0745a2e294 HHH-15749 Hibernate fails when selecting grouped by entities in a specific order 2022-12-06 11:08:37 +01:00
Andrea Boriero a2aca9127c HHH-15749 Add test for issue 2022-12-06 11:08:37 +01:00
Gavin cb35e0e734 HHH-15797 better error messages
1. include the SQL in some SQLGrammarExceptions where it was missing
2. append the SQL to the error message in JDBCException
3. don't wrap HibernateException in PersistenceException b/c it is one already
2022-12-05 22:40:13 +01:00
Gavin 239dfa30fa HHH-15782 use a Generator for seeding/incrementing versions
add javadoc for version generation
2022-12-05 22:21:52 +01:00
Gavin 0228c3d185 HHH-15800 introduce EventType + EventTypeSets in place of the previous "two booleans" approach
I hope @sebersole likes this better.

re-deprecate GenerationTime since the way forward is EventType
2022-12-05 22:21:52 +01:00
Gavin c09664711d HHH-15800 clean up GenerationTiming 2022-12-05 22:21:52 +01:00
Gavin b40d15e528 HHH-15782 cleaner impl of <timestamp source="db"/> 2022-12-05 22:21:52 +01:00
Gavin 075b268280 HHH-15800 create .generator and .binder packages and move new interfaces to them 2022-12-05 22:21:52 +01:00
Gavin 95aa852e15 HHH-15800 reverse previous work to standardizing on GenerationTiming
...and go in exact opposite direction to migrate to GenerationTime
2022-12-05 22:21:52 +01:00
Gavin 216fe0f615 HHH-15800 make Generator free of GenerationTiming 2022-12-05 22:21:52 +01:00
Gavin 1104d01d33 fix checkstyle failure 2022-12-05 21:58:09 +01:00
Steve Ebersole f4a7be6b92 HHH-15795 - Create ValuedModelPart interface 2022-12-05 12:18:48 -06:00
Gavin a4debae33a HHH-15816 make @Immutable work at property level 2022-12-05 18:11:23 +01:00
Gavin 9526eb89b7 HHH-15813 add @Imported annotation 2022-12-05 17:51:45 +01:00
Andrea Boriero c29f2eaf60 HHH-15744 HQL where clause parsing fails with StackOverflow exception 2022-12-05 17:05:58 +01:00
Andrea Boriero 5a89c34127 HHH-15744 Add test for issue 2022-12-05 17:05:58 +01:00
Andrea Boriero 0d20cea0b3 HHH-15713 UnknownTableReferenceException on @ElementCollection of @Embeddable containing a @MayToOne with a @ManyToMany 2022-12-05 14:06:07 +01:00
Markus Heiden 1b417126bf HHH-15713 Add test case to reproduce bug 2022-12-05 14:06:07 +01:00
Andrea Boriero 404f1e15f4 HHH-15731 Add test for issue 2022-12-05 12:17:11 +01:00
Andrea Boriero 31fafb1d4f HHH-15721 NullPointerException in BaseSqmToSqlAstConverter.visitJunctionPredicate with combination of treats 2022-12-05 11:55:35 +01:00
Andrea Boriero 4de7bf20b2 HHH-15721 Add test for issue 2022-12-05 11:55:35 +01:00
Andrea Boriero 90a395a366 Clean up CircularBiDirectionalFetchImpl, CircularFetchImpl and ModelPartContainer 2022-12-05 11:54:51 +01:00
Sanne Grinovero d383042229 HHH-15811 Avoid secondary super-type cache pollution when casting to AttributeMapping 2022-12-04 23:07:20 +00:00
Sanne Grinovero a7c3455274 HHH-15810 Avoid secondary super-type cache pollution when casting to EntityInitializer 2022-12-04 21:41:16 +00:00
Sanne Grinovero 8ebf3c8507 HHH-15809 Secondary super-type cache pollution mitigations for HibernateBasicProxy 2022-12-04 20:21:55 +00:00
Sanne Grinovero ded4c433ac HHH-15808 ByteBuddyProxyFactory#getHibernateProxy is triggering type pollution via generic PrivilegedAction 2022-12-04 17:21:14 +00:00
Gavin bdc67f81b1 clarify some javadoc for @Immutable and optimistic locking stuff 2022-12-04 13:04:56 +01:00
franz1981 3c535c544f HHH-15804 Avoid JDK functional interfaces in ManagedTypeHelper 2022-12-04 11:45:03 +00:00
Sanne Grinovero c114d08ac2 HHH-15803 Have the default EmptyInterceptor avoid triggering type pollution 2022-12-03 23:28:12 +00:00
Mark Rotteveel 721b66c6d3 HHH-15801 IdentifierGeneratorHelper should compare column names case insensitively 2022-12-03 13:52:01 +01:00
Gavin f91905c34a unquote table/column names when inferring sequence name on postgres 2022-12-03 11:09:16 +01:00
Gavin 12682c0abd slightly sanitize API of mapping package 2022-12-03 11:04:21 +01:00
Gavin 0359e01c77 very minor cleanup to ColumnReference 2022-12-03 09:51:02 +01:00
Gavin 5ad9677728 remove redundant call 2022-12-03 09:51:02 +01:00
Gavin 85bfed78c3 fix a potential source of NPEs
(though this code path isn't working anyway for other reasons)
2022-12-03 09:51:02 +01:00
Gavin 6596389e55 make @IdGeneratorType accept Generator 2022-12-02 18:44:51 +01:00
Gavin eb6860d9d2 make @IdGeneratorType accept Generator 2022-12-02 17:58:40 +01:00
Gavin 9389295281 improve javadoc for Generator hierarchy
and make SelectGenerator a subclass of IdentityGenerator
2022-12-02 17:58:40 +01:00
Gavin 392b2f2364 update javadoc for InsertGeneratedIdentifierDelegate 2022-12-02 16:09:23 +01:00
Gavin 337919b766 kill off some awful code in IdentifierGeneratorHelper
- should make multi-column (post insert) id generators work by side effect
- also make StandardGenerator a mixin type interface
2022-12-02 16:09:23 +01:00
Gavin 4195772c15 generalize the InsertReturningDelegates to handle arbitrary InDatabaseGenerators
the bit limitation is that an InDatabaseGenerator can be multi-column, but all the
InsertReturningDelegates assume that they map exactly one IDENTITY column
2022-12-02 16:09:23 +01:00
Gavin 7b0ca427dd remove nexus between Generators and InsertGeneratedIdentifierDelegates
this is certain a very debatable move, but I think it's necessary to
keep the layering intact - we don't want this very technical construct
hanging off the side of the Generator APIs, which are user-visible
2022-12-02 16:09:23 +01:00
Gavin 6a630e3515 make PostInsertIdentifierGenerator extend InDatabaseGenerator 2022-12-02 16:09:23 +01:00
Sanne Grinovero 4b2f8ff8ae HHH-15793 Mitigate type pollution on ColumnReference#getExpressionType 2022-12-02 14:25:27 +00:00
Sanne Grinovero ed26c3f8fa HHH-15787 DefaultMergeEventlistener#onMerge is performing runtime services lookup 2022-12-02 11:21:18 +00:00
Sanne Grinovero 329ccaa7a1 HHH-15791 Avoid excessive Session casts to EventSource 2022-12-02 09:40:53 +00:00
Steve Ebersole 6035ab8e66 HHH-15393 - Improve write-paths to use mapping model 2022-12-01 21:40:04 -06:00
Steve Ebersole ee1788c3c3 HHH-15393 - Improve write-paths to use mapping model 2022-12-01 20:01:40 -06:00
Sanne Grinovero 33ce6a3d79 HHH-15790 Refactor casting strategies for HibernateProxy across the codebase 2022-12-01 21:31:55 +00:00
Sanne Grinovero afc35f6c62 HHH-15790 Refactor filter definition in ByteBuddyProxyHelper 2022-12-01 21:31:55 +00:00
Sanne Grinovero fbf469830c HHH-15790 Make HibernateProxy also type-cache friendly 2022-12-01 21:31:55 +00:00
Sanne Grinovero 366a1e9c1d HHH-15790 Apply the new type-cache enhancements to CompositeTracker and CompositeOwner 2022-12-01 21:31:55 +00:00
Sanne Grinovero 3028299b4a HHH-15790 New dispatch approach to manage type checks of enhanced entities 2022-12-01 21:31:55 +00:00
Gavin c595347803 unify timestamp generation in one generator instead of three
shows a nice feature of the constructor-based init
2022-12-01 15:36:05 +01:00
Marco Belladelli be9358e02f HHH-15785 Fix javadoc errors 2022-12-01 14:51:28 +01:00
Andrea Boriero 56eb241dec Fix Oracle OptionalSecondaryTableBatchTest#testManaged failing test 2022-12-01 14:49:22 +01:00
Gavin 4aadbe801c deprecate unused class org.hibernate.mapping.IdGenerator 2022-12-01 13:40:40 +01:00
Gavin 99cbd9a24a minor fix to test 2022-12-01 13:40:40 +01:00
Gavin a8aab7f5f2 HHH-15789 change IdentifierGeneratorFactory to be able to produce plain InMemoryGenerators
this change is sort-of breaky, so I'm not sure about it

cleanups to StandardIdentifierGeneratorFactory

squash
2022-12-01 13:40:40 +01:00