Commit Graph

9606 Commits

Author SHA1 Message Date
Gavin c754dfacdf method renamings and extract method refactorings
- couple of last-minute name changes in Generator stuff for consistency
- make logic in Coordinators easier to understand by extracting lots of
  little methods (there were some very long methods here)
- extract a couple of inner classes that didn't need to be
2022-12-22 14:09:52 +01:00
Yanming Zhou a49beafca4 HHH-15618 Add tests 2022-12-22 13:00:41 +01:00
Marco Belladelli 6e87b38aee HHH-15850 Check if escape character is null in QuerySplitter 2022-12-22 12:53:12 +01:00
Marco Belladelli 061fb1e59c HHH-15850 Add test for issue 2022-12-22 12:53:12 +01:00
Andrea Boriero ce2dc4720e Removed use of JdbcValuesSourceProcessingState#findInitializer() 2022-12-22 12:51:18 +01:00
Christian Beikov 50db219047 HHH-15899 Add @PartitionColumn annotation 2022-12-22 12:47:59 +01:00
Gavin fb840ef84f remove some obsolete and unused code and simplify GeneratedValuesProcessor 2022-12-22 02:22:07 +01:00
Gavin 39ffcc91f4 lots of package-info.java files! 2022-12-22 00:11:32 +01:00
Steve Ebersole 32cc739f39 HHH-15923 - Clean-up the org.hibernate.loader package
HHH-15799 - API/internal split for org.hibernate.cfg package

and some minor Javadoc work
2022-12-21 16:11:48 -06:00
Gavin d0a510896e add code example to javadoc 2022-12-21 17:51:23 +01:00
Gavin a9f34f0735 HHH-15868 add truncate() to HibernateCriteriaBuilder 2022-12-21 16:12:41 +01:00
Steve Ebersole 422b6a3947 HHH-15799 - API/internal split for org.hibernate.cfg package 2022-12-21 08:15:57 -06:00
Steve Ebersole 3f7dd8c23b HHH-15799 - API/internal split for org.hibernate.cfg package 2022-12-21 07:48:35 -06:00
Gavin 023e73cb46 promote trunc() / truncate() to the list of standard HQL functions
also support the single-argument form of round() for consistency
2022-12-21 14:25:35 +01:00
Gavin 46a4c5e8f0 fix spelling error 2022-12-21 14:17:30 +01:00
Marco Belladelli d862f2d52e HHH-15868 Fix db2's atan2 function requiring inverted argument order 2022-12-21 13:38:43 +01:00
Marco Belladelli d028213a74 HHH-15868 Add dialect feature checks to tests and small fixes 2022-12-21 13:38:43 +01:00
Marco Belladelli a027717d17 HHH-15868 Add incubating annotation to all new CriteriaBuilder methods 2022-12-21 13:38:43 +01:00
Marco Belladelli 2c2ea7163b HHH-15868 Added `crossJoin` methods and logic 2022-12-21 13:38:43 +01:00
Marco Belladelli 977587dd67 HHH-15868 Add more non-standard HQL functions to the HibernateCriteriaBuilder interface 2022-12-21 13:38:43 +01:00
Christian Beikov ba985518c7 HHH-15898 Add @Instantiator annotation to mark canonical constructor for embeddables 2022-12-21 12:43:15 +01:00
Christian Beikov e19727e454 HHH-15872 Fix some issues with UDT column ordering 2022-12-21 12:43:15 +01:00
Marco Belladelli 693d053deb HHH-15900 Fix trigger creation on PG10+HANA and check version in OracleDialect to support insert returning generated keys 2022-12-21 12:42:30 +01:00
Kacper Koniuszy 99186e1a37 HHH-15842 Convert simple foreign key values before binding 2022-12-21 12:22:11 +01:00
Kacper Koniuszy f9fd97fe28 HHH-15842 Add test for issue 2022-12-21 12:22:11 +01:00
Gavin f5f92b852a add tests for trunc() and date_trunc(), even though they're non-"standard"
see https://hibernate.atlassian.net/browse/HHH-15855
2022-12-21 02:26:05 +01:00
Gavin b704e3154e put stub PostgreSQL10Dialect back where it belongs 2022-12-21 02:26:05 +01:00
Gavin 64d0cf804a rename Generator subtypes to BeforeExecuteGenerator and OnExecuteGenerator
- and update javadocs
- add/improve doc of new Dialect methods
- add some missing @Override annotations
2022-12-21 00:15:25 +01:00
Gavin f3e31fe427 remove ancient limitation that allowed only one property as UK for 'select' id generator 2022-12-21 00:15:25 +01:00
Gavin King d30bf092aa Apply suggestions from code review
Co-authored-by: Steve Ebersole <steve@hibernate.org>
2022-12-20 22:36:33 +01:00
Gavin 72c2559d39 clean up obsolete imports and warning suppressions 2022-12-20 22:36:33 +01:00
Gavin 5089df2036 HHH-15912 adaptively choose the DDL type for ORDINAL enums based on the number of members
this amounts to a reversion of HHH-15288 for 99.99% of enums
2022-12-20 22:36:33 +01:00
Christian Beikov 7007bafe55 HHH-15872 Add ColumnOrderingStrategy SPI and handle record structs specially 2022-12-20 20:17:23 +01:00
Andrea Boriero 1f630e4a5d HHH-15805 Subquery with where condition on a column with columnDefinition results in wrong SQL grammer 2022-12-20 18:55:17 +01:00
Andrea Boriero 62b218d411 HHH-15805 Add test for issue 2022-12-20 18:55:17 +01:00
Georg Echterling 81d9707f61 HHH-15784 Fix primitive array as NaturalId. 2022-12-20 16:35:35 +01:00
Georg Echterling f13c69fb63 HHH-15784 Add test for primitive array as NaturalId. 2022-12-20 16:35:35 +01:00
Georg Echterling 5d93213ea3 HHH-15778 Fix Embeddable with FetchTiming.DELAYED 2022-12-20 13:53:46 +01:00
Georg Echterling 70638f9e60 HHH-15778 Add test for Embeddable with FetchTiming.DELAYED 2022-12-20 13:53:46 +01:00
Marco Belladelli b68eacbb90 HHH-15900 Fix failing tests on TiDB due to missing trigger support 2022-12-20 10:24:54 +01:00
Marco Belladelli 04b77066df HHH-15654 Fix failing window function tests on DB2 10.5 2022-12-20 10:12:13 +01:00
Gavin 3ad3c5a509 change default event timing for @Generated to event = INSERT
- this makes sense if @Generated con now be used on @Id properties
- but it's also convenient with @ColumnDefault
2022-12-20 01:38:55 +01:00
Gavin be3621d8f8 hand over responsibilities of SelectGenerator to @Generated
at the end of all this work on SelectGenerator, a cruel twist of fate!
2022-12-20 01:38:55 +01:00
Gavin 250995336b note down an important TODO for later 2022-12-20 01:38:55 +01:00
Gavin 0f4cdc3bdb use getGeneratedKeys() in SelectGenerator on Oracle 2022-12-20 01:38:55 +01:00
Gavin ad2d4604fb document supported database versions in Dialects
there was incorrect information here for a couple of them
2022-12-20 01:38:55 +01:00
Gavin 00edf48483 fix version # of support for 'insert returning' on Maria 2022-12-20 01:38:55 +01:00
Gavin 7b387f3ecf correctly handle 'returning' clause in DML formatter 2022-12-20 01:38:55 +01:00
Gavin 01fa0c0fe9 suppport 'from new table' on DB2 for retrieving generated primary keys 2022-12-20 01:38:55 +01:00
Gavin c4e27c0a2e make select generator tests run on SQL Server 2022-12-20 01:38:55 +01:00
Gavin 587857e6bf run SelectGeneratorTest on Db2 2022-12-20 01:38:55 +01:00
Gavin ed0f93ecdd use 'from final table' in SelectGenerator on h2 2022-12-20 01:38:55 +01:00
Gavin d93e72dc7e some misc minor cleanups 2022-12-20 01:38:55 +01:00
Gavin 782d2c9707 refactor SchemaCreatorImpl, SchemaDropperImpl into bite-sized methods 2022-12-20 01:38:55 +01:00
Gavin 32790456b7 test select generator on h2 2022-12-20 01:38:55 +01:00
Gavin 493818141e fix logging of DDL
the DDL formatter was being applied twice
2022-12-20 01:38:55 +01:00
Gavin ff9a60601c improve error reporting for DDL execution 2022-12-20 01:38:55 +01:00
Gavin d49b568d7b make SelectGenerator capable of using 'insert ... returning ...' 2022-12-20 01:38:55 +01:00
Gavin 679ed3bbee add select generator test for Postgres, MySQL, EDB 2022-12-20 01:38:55 +01:00
Jan Schatteman d8bf649998 HHH-15910 Add static remove methods to Hibernate.class
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-12-19 22:48:39 +01:00
Steve Ebersole e0f55e5d53 HHH-15894 - Clean-up EntityMappingType for API 2022-12-19 11:46:51 -06:00
Steve Ebersole 1715f09a89 HHH-15893 - Clean-up NaturalIdMapping for API
HHH-15894 - Clean-up EntityMappingType for API
2022-12-19 10:36:53 -06:00
Sanne Grinovero c21fef3a66 HHH-15887 Avoid megamorphic calls on JdbcValuesSourceProcessingState#getSession 2022-12-19 08:38:53 +00:00
Sanne Grinovero 7c068e5be4 HHH-15886 Micro optimisations in NavigableRole equals and hashcode 2022-12-19 08:38:53 +00:00
Davide D'Alto 2933a759fa HHH-15904 Change scope of BasicCollectionPersister#buildRowMutationOperations 2022-12-19 07:36:01 +00:00
Gavin e8c2824976 allow use of SelectGenerator from annotations
- generalize @GenericGenerator to any Generator
- add tests for @GenericGenerator(type=SelectGenerator)
- move some logic for choosing the right InsertGeneratedIdentifierDelegate
  to the generators themselves
2022-12-17 19:02:20 +01:00
Gavin 6536fe0d72 very minor code changes 2022-12-17 19:02:20 +01:00
Marco Belladelli 8285eba3ac HHH-15900 Make SelectGenerator not extend IdentityGenerator 2022-12-17 11:56:38 +01:00
Marco Belladelli 86ba5144f6 HHH-15900 Add test for issue 2022-12-17 11:56:38 +01:00
Marco Belladelli 8bbb1edb30 Fix some failing tests 2022-12-16 16:18:08 +01:00
Marco Belladelli 1ce4135145 HHH-15654 Fix failing criteria set-ordered tests for some dbs 2022-12-16 16:18:08 +01:00
Marco Belladelli aadd0d7179 HHH-15398 Bump baseline Jakarta Persistence version to 3.1 2022-12-16 11:49:02 +01:00
Christian Beikov eccc1a89c5 Ensure TypeContributor registered JdbcType has precedence over fallback and preferred types 2022-12-16 11:47:38 +01:00
marco fe5fa5dce4 HHH-15550 New global and persistent temporary `create_tables` params 2022-12-16 08:25:41 +01:00
Marco Belladelli caaaa71ffd HHH-15550 New global and persistent temporary `create_tables` params 2022-12-16 08:25:41 +01:00
Steve Ebersole a12a108f59 HHH-15884 - Clean-up EntityDiscriminatorMapping for API 2022-12-15 18:59:09 -06:00
Steve Ebersole ed4af59882 HHH-15884 - Clean-up EntityDiscriminatorMapping for API
HHH-15891 - Clean-up EntityVersionMapping for API
HHH-15892 - Clean-up EntityIdentifierMapping for API
2022-12-15 18:55:58 -06:00
Gavin 126de862c0 cleaner signature of Column.getSqlType() 2022-12-16 00:04:29 +01:00
Gavin 736dfac693 add ability to change column types to TableMigrator 2022-12-16 00:04:29 +01:00
Steve Ebersole fcb8e323b0 HHH-15883 - Expose MappingMetamodel via unwrap from SessionFactory
HHH-15884 - Clean-up EntityDiscriminatorMapping for API uses
2022-12-15 13:35:10 -06:00
Steve Ebersole 490b89becf Revert "Ensure TypeContributor registered JdbcType has precedence over fallback and preferred types"
This reverts commit c6ecdb78f4.
2022-12-15 13:35:10 -06:00
Steve Ebersole 2e0b4b3558 HHH-15883 - Expose MappingMetamodel via unwrap from SessionFactory
HHH-15884 - Clean-up EntityDiscriminatorMapping for API uses
2022-12-15 13:35:10 -06:00
Sanne Grinovero 49c096f146 HHH-15878 Micro optimisations of StatefulPersistenceContext#clear 2022-12-15 19:17:47 +00:00
Christian Beikov c6ecdb78f4 Ensure TypeContributor registered JdbcType has precedence over fallback and preferred types 2022-12-15 18:48:33 +01:00
Christian Beikov 37ec41d319 HHH-15879 Introduce a fetchable key for Fetchable within FetchableContainer 2022-12-15 18:48:06 +01:00
Gavin 69091d1394 remove two unused classes 2022-12-15 17:26:49 +01:00
Sanne Grinovero af8f2da6f2 HHH-15873 Micro optimisations of FetchParent#findFetch(Fetchable) operations 2022-12-15 11:29:25 +00:00
Marco Belladelli fc7bdce2c8 HHH-15736 Add escape logic to cockroach and fix mysql 5.7 2022-12-15 12:14:39 +01:00
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
Gavin cced19c7ee HHH-15789 better validation of generators 2022-12-01 13:40:40 +01:00
Gavin 101bee7647 minor cleanups + add a couple of @Deprecated annotations 2022-12-01 13:40:40 +01:00
Andrea Boriero 3396c18178 HHH-15393 Fix compilation error 2022-12-01 10:15:08 +01:00
Steve Ebersole 631d0bad71 HHH-15393 - Improve write-paths to use mapping model 2022-11-30 23:50:39 -06:00
Gavin 26e7393775 HHH-15789 allow any InMemoryGenerator to generate ids 2022-12-01 00:02:18 +01:00
Gavin 7f72696fff HHH-15788 deprecate GenerationTime since it is a dupe of GenerationTiming
...and it was not even being consistently used in its own package!

(@CurrentTimestamp was already using GenerationTiming.)

What a mess.
2022-12-01 00:02:18 +01:00
Gavin 2b50997e71 rename to AnnotationBasedGenerator 2022-12-01 00:02:18 +01:00
Gavin a67cfd039e HHH-15789 unify IdentifierGenerator with value generator stuff 2022-12-01 00:02:18 +01:00
Gavin 1bd082bd3e much better naming 2022-12-01 00:02:18 +01:00
Gavin 82c68d93e9 HHH-15789 make IdentifierGenerator into a sort of value generator 2022-12-01 00:02:18 +01:00
Steve Ebersole 1c083a5863 HHH-15393 - Improve write-paths to use mapping model 2022-11-30 15:36:28 -06:00
Steve Ebersole c04caa18de HHH-15393 - Improve write-paths to use mapping model 2022-11-30 12:59:31 -06:00
Steve Ebersole 175fe0e44d HHH-15393 - Improve write-paths to use mapping model 2022-11-30 09:01:37 -06:00
Marco Belladelli 3b14107c49 HHH-14982 CriteriaBuilder extension mechanism and Spatial implementation 2022-11-30 10:42:03 +01:00
Gavin f022d6ef3b HHH-15782 make @ValueGenerationType work with the new "split" hierarchy of value generators
this was a lot easier than I thought it would be
2022-11-30 02:05:38 +01:00
Gavin 82db252422 HHH-15781 deprecate @GenericGenerator(strategy) in favor of @GenericGenerator(type) 2022-11-30 02:05:38 +01:00
Gavin f03a43053d javadoc for @IdGeneratorType and @ValueGenerationType 2022-11-30 02:05:38 +01:00
Gavin 8ce2241153 HHH-15781 make @GenericGenerator typesafe by adding type() member
this annotation is not deprecated, so we should at least make it typesafe
2022-11-30 02:05:38 +01:00
Gavin 3bab26739d javadoc for @GeneratorType and @GenericGenerator 2022-11-30 02:05:38 +01:00
Steve Ebersole 815c4eb4a1 HHH-15393 - Improve write-paths to use mapping model 2022-11-29 16:01:16 -06:00
Gavin 3e6fcdeda3 unify new ValueGenerationStrategy interfaces with existing ValueGeneration stuff
- introduce ValueGenerationStrategy to abstract over IMVGS and IDVGS
- make ValueGeneration a mixin of IMVGS with IDVGS
- make IDVGS accept a Dialect for SQL fragment generation
  (it was based on an obsolete version of ValueGeneration)
- adapt all the code which only handled single-column value generation
  to handle multiple columns, as introduced by IDVGS

Still to do: the whole AnnotationValueGeneration stuff still requires the use
of the mixin interface, and you can't use IMVGS or IDVGS directly. That bit is
going to require a bit more thinking about backward compatibility.
2022-11-29 21:03:58 +01:00
Steve Ebersole 94e2b599e4 HHH-15393 - Improve write-paths to use mapping model 2022-11-29 12:40:54 -06:00
Mark Rotteveel 7461100c39 HHH-15775 Make UnknownServiceException and NullServiceException extend ServiceException 2022-11-29 18:39:36 +01:00
Gavin 325b416e7d fix checkstyle failure 2022-11-29 18:01:07 +01:00
Steve Ebersole 9ccb71847b HHH-15393 - Improve write-paths to use mapping model 2022-11-29 09:37:13 -06:00
Sanne Grinovero c7bd022b07 HHH-15779 Avoid stateful lambdas in hot processing of JdbcValuesResultSetImpl 2022-11-29 14:45:54 +00:00
Gavin a91e46a682 fix a flaky Sybase test 2022-11-29 15:11:25 +01:00
Christian Beikov 2b8b33e694 Fix Oracle rowid and sybase value generation issues 2022-11-29 12:13:27 +01:00
Christian Beikov ad019fccec Remove spacing in insert and update statements 2022-11-29 09:38:22 +01:00
Christian Beikov 8d3adc3123 Remove spacing in insert and update statements 2022-11-29 09:20:08 +01:00
Christian Beikov 26aaf1bf88 Fix more test failures with write path model 2022-11-29 08:39:59 +01:00
Christian Beikov a81f9d3e2d Fix HQLTest issue and javadoc aggregation 2022-11-29 01:43:32 +01:00
Steve Ebersole 1f9a6f43f1 HHH-15393 - Improve write-paths to use mapping model 2022-11-28 16:55:06 -06:00
Gavin cc9ecfb94d annotate ValueGeneration impls in annotation package @Internal 2022-11-28 22:52:52 +01:00
Gavin 366a89ae71 reimplement @Source in an elegant way using the ValueGeneration machinery
... and finally delete two of my least-favorite classes!
2022-11-28 22:49:57 +01:00
Gavin e908d4c8f6 @CreationTimestamp should not be declared @Inherited 2022-11-28 22:49:57 +01:00
Gavin 457872dbdd skip a test on TiDB
as requested by @beikov
2022-11-28 22:49:57 +01:00
Gavin 84be9faf70 remove weird getCurrentTimestampSelectString() on PostgresPlusDialect
... which was causing tests to fail... but why *now* I have no clue!
2022-11-28 22:49:57 +01:00
Gavin 993aae6095 HHH-15774 @CurrentTimestamp takes over from @Source
... and make value generation work better with version properties.
2022-11-28 22:49:57 +01:00
Steve Ebersole a9ac98b364 HHH-15393 - Improve write-paths to use mapping model
HHH-15723 - Fix foreign-key modeling
2022-11-28 14:25:40 -06:00
Sanne Grinovero e4c294f4b6 HHH-15776 Avoid type checking for ManagedEntity in EntityEntryContext#deserialize as well 2022-11-28 17:40:46 +00:00
Sanne Grinovero c882699557 HHH-15776 Avoid type checking for ManagedEntity in StatefulPersistenceContext#addReferenceEntry 2022-11-28 17:40:46 +00:00
Gavin 0d295e9f11 HHH-15772 deprecate @Proxy and @Polymorphism 2022-11-28 13:45:57 +01:00
Gavin 77fe23d7f9 javadoc for @Polymorphism 2022-11-28 13:45:57 +01:00
Gavin 922e71d626 deprecate @Target which dupes functionality of JPA annotations
...and refresh some misc annotation javadoc
2022-11-28 13:45:57 +01:00
Davide D'Alto dd36425b31 HHH-15746 Register the StandardIdentifierGeneratorFactory as a default Service 2022-11-28 10:07:22 +00:00
Sanne Grinovero 7081d31647 HHH-15746 Beans Helper doesn't need to be a singleton, convert to static helpers 2022-11-28 10:07:22 +00:00
Gavin ed52dba650 make the gradle build quieter
also delete some obsolete stuff from before move to Java 11
2022-11-28 09:10:34 +01:00
Gavin 86b28f4c8d expand javadoc for OptimisticLocking 2022-11-27 20:01:33 +01:00
Gavin f2c81b0eaf rename some methods to reduce confusion 2022-11-27 14:16:43 +01:00
Gavin 759b68b022 HHH-15770 let you use @ColumnDefault on associations
this is very useful in combination with @OnDelete(action=SET_NULL)
2022-11-27 14:16:43 +01:00
Gavin 76f92bd901 HHH-15770 add in all the commonly-supported OnDeleteActions 2022-11-27 14:16:43 +01:00
Gavin c9caf292e6 HHH-15770 javadoc and cleanup for @OnDelete, OnDeleteAction 2022-11-27 14:16:43 +01:00
Gavin 12aa8bd431 add some comments for the next poor soul who wrestles with unique constraints 2022-11-27 12:38:45 +01:00
Gavin 5172d8798f HHH-15762 work around weird semantics of null in unique index on DB2/T-SQL 2022-11-27 02:14:38 +01:00
Gavin 0253e1fe7a HHH-15767 put unique constraints where they belong on optional @OneToOne associations
this was a bug that allowed people to use @OneToOne as a regular @ManyToOne
and ... people did ... as evidenced by all these bogus tests I just fixed

this is in principle a breaking change because it breaks code that was broken
2022-11-27 02:14:38 +01:00
Gavin dd50e1e28e add message/@deprecated a member that Hibernate ignores 2022-11-26 13:40:40 +01:00
Gavin 13f4c8c285 light refactoring 2022-11-26 13:40:40 +01:00
Gavin 3ba90c004c HHH-15762 nicer DDL for unique constraints
- prefer 'unique' in 'create table' except in migrations
- also ignore unique=true for PK column
- introduce AlterTableUniqueDelegate and CreateTableUniqueDelegate
- fix the tests / delete test that makes no sense now
- improve javadoc of UniqueDelegate
2022-11-26 13:40:40 +01:00
Gavin 41fb50f18e and add/improve some Javadoc in AvailableSettings 2022-11-26 12:21:50 +01:00
Marco Belladelli f38dd28043 HHH-15760 mass replace self-closing tags in javadoc 2022-11-26 09:49:56 +01:00
Steve Ebersole cff02f6726 HHH-15763 - Allow Dialect to specify fallback SchemaManagementTool 2022-11-25 23:37:53 -06:00
Gavin 07de23d283 add javadoc about hibernate.dialect 2022-11-26 00:08:16 +01:00
Gavin 27d4a55e75 javadoc for @NaturalId, @NaturalIdCache, @ListIndexBase 2022-11-25 23:11:08 +01:00
Gavin d68eb4b7eb add @deprecated explanations 2022-11-25 22:08:45 +01:00
Jan Schatteman 70873f5d2f HHH-15686 - test and fix for issue 'Envers incorrect key parameter order in insert statement when InheritanceType.JOINED and @Embeddable ID'
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-11-25 19:49:15 +01:00
Davide D'Alto 739cb653e5 HHH-15747 Add SqmSelectionQueryImpl#getTupleMetadata
For Hibernate Reactive
2022-11-25 13:23:27 +01:00
Davide D'Alto 6f78c26390 HHH-15747 Add QuerySqmImpl#getTupleMetadata()
For Hibernate Reactive
2022-11-25 13:23:27 +01:00
Christian Beikov 276b7a6f95 HHH-15748 Use JSON DDL type on Oracle 21+ and BLOB on 12+ 2022-11-25 10:11:12 +01:00
Gavin 5b5721f64b HHH-15739 deprecate @LazyToOne and @LazyCollection
and add some docs and cleanups
2022-11-25 02:42:58 +01:00
Gavin c8ffee43ef HHH-15750 fix bug in Hibernate.isInitialized()
it didn't work for EnhancementAsProxyLazinessInterceptor
2022-11-25 02:42:58 +01:00
Karel Maesen 160f86a2f6 HHH-15668 Fix assertion in BatchOptimisticLockingTest
Recent CockroachDB versions return a more detailed message. We now
test only the first part of the error message.
2022-11-24 08:45:56 +01:00
Christian Beikov 67d751d81d Cleanup embeddable expression handling and resolving of column references 2022-11-23 20:44:33 +01:00
Christian Beikov c6fa10de6e Fix file descriptor leak 2022-11-23 20:44:33 +01:00
Andrea Boriero bf128ddbfa HHH-15711 Fix test failure with Oracle 2022-11-22 17:55:17 +01:00
Andrea Boriero 6f0a631917 HHH-15718 Polymorphic queries with condition do not work 2022-11-22 15:45:54 +01:00
Andrea Boriero a65579e268 HHH-15718 Add test for issue 2022-11-22 15:45:54 +01:00
Andrea Boriero 98458b31f7 HHH-15711 ArgumentTypesValidator doesn't support enums in string functions 2022-11-22 15:34:31 +01:00
Andrea Boriero 8ef73781ba HHH-15711 Add test for issue 2022-11-22 15:34:31 +01:00
Andrea Boriero 2171d3b24a HHH-15606 @OneToOne(mappedBy = ..., fetch = LAZY) in embedded leads to IllegalArgumentException: Can not set [...] to LazyPropertyInitializer 2022-11-22 15:27:04 +01:00
Yoann Rodière a2a2a83684 HHH-15606 Test @OneToOne(mappedBy = ..., fetch = LAZY) in embedded 2022-11-22 15:27:04 +01:00
Andrea Boriero ff973d4580 HHH-15699 HibernateException: Found shared references to a collection when ShareCacheMode.All or ShareCacheMode.DISABLE_SELECTIVE 2022-11-22 15:06:45 +01:00
Andrea Boriero d9c790cae1 HHH-15699 Add test for issue 2022-11-22 15:06:45 +01:00
Andrea Boriero 838cbb81ca HHH-15658 Embeddable with more fields than the parent fails with Index out of Bounds 2022-11-22 14:55:09 +01:00
Andrea Boriero 255cf3e301 HHH-15658 Add test for issue 2022-11-22 14:55:09 +01:00
Gavin fae1ec40fd add Hibernate.isInstance() convenience method 2022-11-22 12:49:35 +01:00
Gavin 5160ac3192 completey rewrite the javadoc I just wrote and pushed
ooops, I suck :-(
2022-11-21 20:26:58 +01:00
Gavin a72c8744a8 document limitation of LazyToOne(NO_PROXY) to non-polymorphic associations
we can roll back this commit if/when we fix the limitation, as proposed:

    https://github.com/hibernate/hibernate-orm/discussions/5591
2022-11-21 18:01:00 +01:00
Gavin 2e02b9a74f throw exception for contradictory annotations 2022-11-21 18:01:00 +01:00
Gavin 2e99811dd4 javadoc for @LazyToOne 2022-11-21 18:01:00 +01:00
Andrea Boriero c1070b8171 HHH-15687 Add test for issue 2022-11-21 13:31:35 +01:00
Christian Beikov 6aedc5499d HHH-15730 Fix NPE in EnhancedSetterImpl 2022-11-18 14:40:18 +01:00
Gavin c51604c6b7 improve javadoc for annotations related to filters + discriminators
Also:

- deprecate a layer-breaking method of org.hibernate.Filter
  (consistent with what we already did on SessionFactory)
- fix the incorrect @Target of @SqlFragmentAlias
- add some missing @since annotations
- add cross-links to DialectOverride
2022-11-18 14:12:22 +01:00
Andrea Boriero d25c1a44f0 HHH-15694 HibernateException: Unable to resolve property xyz on ManyToOne with BatchSize 2022-11-18 12:26:20 +01:00
Andrea Boriero 47933b36bd HHH-15694 Add test for issue 2022-11-18 12:26:20 +01:00
Andrea Boriero 4688cccdbc HHH-15695 Batch loading, Embeddable with an Association is considered null when all the other Embeddable attributes are null 2022-11-18 12:26:20 +01:00
Andrea Boriero 7f7e54c42d HHH-15695 Add test for issue 2022-11-18 12:26:20 +01:00
Andrea Boriero 29cfc5a7e0 HHH-15644 ClassCastException when batch-fetching association in embeddable 2022-11-18 12:26:20 +01:00
Andrea Boriero 00717c6911 HHH-15644 Add test for issue 2022-11-18 12:26:20 +01:00
Thomas Heigl 7c72115bcf HHH-15644 Add reproducer test 2022-11-18 12:26:20 +01:00
Andrea Boriero 3a0b5feda0 HHH-15640 ElementCollection with SubSelect FetchMode throws NPE, ownerEntry is null 2022-11-18 11:12:16 +01:00
Andrea Boriero 7337e0be2e HHH-15640 Add test for issue 2022-11-18 11:12:16 +01:00
Christian Beikov 4914d14a43 HHH-15626 Move old databases to nightly pipeline and add some SQL Server 2022 features 2022-11-18 11:06:39 +01:00
Andrea Boriero dd5c455d88 HHH-15646 Using a generic DTO i get a ClassCastException: class sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to class java.lang.reflect.ParameterizedType 2022-11-18 11:04:28 +01:00
Andrea Boriero ccf24ac355 HHH-15646 Add test for issue 2022-11-18 11:04:28 +01:00
Andrea Boriero 385926e61b HHH-15624 java.lang.ClassCastException: class sun.reflect.generics.reflectiveObjects.WildcardTypeImpl cannot be cast to class java.lang.reflect.ParameterizedType when using generics and Wildcard 2022-11-18 11:04:28 +01:00
Andrea Boriero 8f2c3cc615 HHH-15624 Add test for issue 2022-11-18 11:04:28 +01:00
Andrea Boriero 4ca9c2bb3b HHH-15716 ClassCastException in QueryParameterBindingsImpl.generateQueryKeyMemento 2022-11-18 10:51:29 +01:00
Andrea Boriero 03f1ce9c49 HHH-15716 Add test for issue 2022-11-18 10:51:29 +01:00
Sanne Grinovero 44aa5288c7 HHH-15693 An additional minor polish to the previously applied optimisation 2022-11-17 17:48:03 +00:00
Gavin 6ef9b03f8b squash some warnings and remove some obsolete code + parameters 2022-11-17 15:45:47 +01:00
Andrea Boriero 476da28da9 HHH-15717 SQL script executed twice when using persistence.xml jakarta.persistence.sql-load-script-source property with the default sql script name 2022-11-17 15:45:19 +01:00
Andrea Boriero 9720037963 HHH-15717 Add test for issue 2022-11-17 15:45:19 +01:00
Gavin 479aa10e2f SchemaTruncator should reimport the load script after truncating 2022-11-17 11:15:53 +01:00
Jan Schatteman bc4554f86e HHH-2087 - Added test to verify issue is fixed
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-11-16 19:57:34 +01:00
Gavin 58e9c2a0fc use default noop methods on SessionEventListener
- also, mark it @Incubating, as was already documented
- improve the jdoc for SessionEventListener and StatementInspector
2022-11-16 18:20:08 +01:00
Sanne Grinovero be2999d054 HHH-15693 Introduce a fast-path access for ClassLoaderService being retrieved from ServiceRegistry 2022-11-16 17:12:28 +00:00
Sanne Grinovero 1eeccd32eb CacheHelper#fromSharedCache no longer needs to return a Serializable object 2022-11-16 15:15:06 +00:00
Gavin 3fabde0cd9 remove a method I accidentally pushed 2022-11-16 14:13:41 +01:00
Gavin ed956d514a HHH-15729 introduce SchemaManager, a programmatic API for schema export
featuring a brand new SchemaTruncator!
2022-11-16 14:10:08 +01:00
Christian Beikov 7d9ffc6158 HHH-15728 Improve query cache key hash code to reduce collisions 2022-11-16 11:06:31 +01:00
Christian Beikov 68324b9297 HHH-15719 Hint UniqueSematics.NONE for entity queries without collection join fetches 2022-11-16 11:06:21 +01:00
Gavin 38c591f823 joc punctuation fix 2022-11-14 18:15:56 +01:00
Christian Beikov 8c1aa482f9 Switch to debug logging for reflection optimizer issues 2022-11-14 14:48:02 +01:00
Christian Beikov 99f9ccdd11 HHH-15569 Replace list and map with array to improve state extraction for entity initializing 2022-11-14 14:46:11 +01:00
Gavin 1d5f6b5c13 finish off jdoc for DDLTypes 2022-11-14 13:19:36 +01:00
Gavin e72d0aeb41 even more jdoc about query cache invalidation 2022-11-13 15:42:15 +01:00
Gavin 1d5c0a60d3 better error reporting in DialectContext and service registry 2022-11-13 15:35:53 +01:00
Gavin 110596adb7 deprecate two unused types in the cache SPI + add javadoc
also correct some errors in the names of types - this is
why it's better to use @link!!
2022-11-13 13:32:58 +01:00
Gavin cf9578a9e0 add some cross-refs to the Javadoc
so we can easily find where these settings ultimately come from
2022-11-13 11:42:46 +01:00
Gavin f58e450ea8 make a test more robust 2022-11-13 00:39:25 +01:00
Gavin dbc7b2359b extract an oft-repeated expression as a new method of JdbcTypeIndicators
write some Javadoc about types
2022-11-13 00:39:25 +01:00
Gavin 77a1be10b1 some cleanups + doc for SqlTypes 2022-11-12 12:02:17 +01:00
Gavin King 5dfb90bb73 HHH-15679 proposed fix to OffsetTime handling
The idea is: convert all OffsetTimes to the system offset before sending them on
2022-11-12 01:11:21 +01:00
Gavin 39f85a2dca HHH-15709 test value of timestamp literal 2022-11-12 01:09:00 +01:00
Gavin 1f9439b2ed HHH-15709 fix rendering of timestamp literal when there is no timezone
for Postgres, Cockroach, and H2
2022-11-12 01:09:00 +01:00
Gavin 9073d6192b Revert "fix an issue with postgres timestamp literals"
This reverts commit 0b021e56f9.
2022-11-11 21:30:01 +01:00
Gavin 0b021e56f9 fix an issue with postgres timestamp literals 2022-11-11 21:19:46 +01:00
Gavin 53d9935237 clean up some code duplication!
cc @beikov
2022-11-11 21:19:46 +01:00
Jan Schatteman f0ea66b872 HHH-15704 - Fix regression in StandardForeignKeyExporter and add test case for this issue
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-11-11 19:46:03 +01:00
Gavin 9eaeff05ec we forgot to deprecate ReplicationMode 2022-11-10 18:30:54 +01:00
Gavin 3762f4a6e5 more jdoc for "minimal puts" 2022-11-10 18:30:54 +01:00
Christian Beikov 61421d5d54 JPA requires that IllegalStateException be thrown instead of UOE 2022-11-10 16:44:06 +01:00
Christian Beikov 7a335393c7 HHH-15660 Make use of ReflectionOptimizer in more cases 2022-11-10 16:42:17 +01:00
Christian Beikov 7a14e5c07f HHH-15631 Enable reflection optimizer by default Christian Beikov 2022-11-10 16:42:17 +01:00
Christian Beikov 4fdbb3d5f6 Some reflection optimizer related fixes 2022-11-10 16:42:17 +01:00
Emond Papegaaij 2a93aa5467 HHH-15703 Append remainder of SQL fragment after last parameter 2022-11-10 16:28:07 +01:00
Christian Beikov 90a752a0ee HHH-15328 Add support for CTE WITH clause 2022-11-10 13:25:21 +01:00
Gavin King 215d411ffa HHH-15702 also add matching getters 2022-11-10 11:17:19 +01:00
Gavin King 778675b867 HHH-15702 add Session.setCacheRetrieveMode, Session.setCacheStoreMode 2022-11-10 11:17:19 +01:00
Gavin King 5c90779a02 HHH-15702 add SelectionQuery.setCacheRetrieveMode, SelectionQuery.setCacheStoreMode
also clean up some unnecessary overriding in Query hierarchy
2022-11-10 11:17:19 +01:00
Gavin King a56a7c523b HHH-15702 Javadoc for CacheMode
talk about how it relates to the JPA enums
2022-11-10 11:17:19 +01:00
Gavin King 51e2531c9c Javadoc for FetchMode, @Fetch, and @BatchSize 2022-11-10 00:41:25 +01:00
Gavin King bd7140eef7 HHH-15701 deprecate CacheModeType since it is a dupe of CacheMode
improve Javadoc
2022-11-09 23:38:29 +01:00
Gavin King 7bcbfdcc12 move getLockMode() up to SelectionQuery
squash some warnings in the query APIs
2022-11-09 21:50:50 +01:00
Gavin King c966acf178 JPA requires that IllegalStateException be thrown instead of UOE
leave code comments making this very clear, because it wasn't
clear at all (and is sort-of wrong)

on the other hand, add getHibernateLockMode(), and let the client
bypass the stupid JPA restriction
2022-11-09 21:50:50 +01:00
Jan Schatteman 2a92267cd8 HHH-13106 - Remove erroneous (incomplete) test and add a new one for this issue
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-11-09 20:00:55 +01:00
Gavin King 1607252bc3 HHH-15697 deprecate lock(entityName)
since we no longer encourage passing a detached object to this method
2022-11-09 18:20:04 +01:00
Gavin King 89c1b0f0ce HHH-15696 very basic test for multiply-mapped entity class 2022-11-09 18:20:04 +01:00
Gavin King 1cc7b72c4c HHH-15689 fix SessionFactoryBuilder#addEntityNameResolver() and add Configuration#addEntityNameResolver() 2022-11-09 18:20:04 +01:00
Gavin King f71cf01620 HHH-15652 roll back addition of remove(entityName, instance)
I messed up and forgot we don't want people passing detached
instances to remove().

reverts 4274cb4313
2022-11-09 14:34:02 +01:00
Gavin King 6f85a56cad add a note about explcict entity names to Session jdoc 2022-11-09 14:34:02 +01:00
Gavin King a12ba4c2e4 more verbiage surrounding cache concurrency
this is an important thing, and in the past we've been
very stingy on the documentation side
2022-11-09 12:23:12 +01:00
Gavin King cd425e3502 HHH-15691 add @Cache(includeLazy) and deprecate stringly-typed include member
+ add some javadoc
2022-11-09 11:28:13 +01:00
Gavin King d00b92259f Javadoc for @LazyGroup 2022-11-09 11:28:13 +01:00
Gavin King d8fcade838 Javadoc for @Cache and CacheConcurrencyStrategy 2022-11-09 11:28:13 +01:00
Gavin King d4b7aeeb3c Javadoc for @Cascade and CascadeType 2022-11-08 23:19:05 +01:00
Gavin King 3f7133f80b attempt to reduce allocations of LockOptions
- Sanne says we were allocating too many of these, so add a static instance
  of LockOptions for each LockMode
- just generally rationalize the code that deals with defaulting LockOptions
- change the impl of CascadingActions.LOCK because lock scope has nothing
  to do with cascading, and I don't see any reason why the LockOptions should
  not simply propagate if cascading is explicitly turned on
2022-11-08 22:45:29 +01:00
Gavin King 39bef7bc70 HHH-15682 fix potential classloading deadlock
+ add some documentation around follow-on locking
2022-11-08 22:45:29 +01:00
Gavin King 23ff00142f more javadoc about @Generated
including its relationship to @ColumnTransformer
2022-11-08 13:06:58 +01:00
Gavin King 61c128000b HHH-15672 introduce Generated(UPDATE) for properties only generated on update 2022-11-08 12:36:38 +01:00
Gavin King aaeed841c8 work on javadoc for UserType and CompositeUserType 2022-11-08 09:39:55 +01:00
Gavin King 2f1e85095c add link to EntityNameResolver in Interceptor javadoc
also fix a typo and get rid of uses of <tt> and <br>
2022-11-08 02:16:43 +01:00
Gavin King 450a159a8d improve javadoc for EntityNameResolver 2022-11-08 01:37:28 +01:00
Gavin King 9d141a2793 improve javadoc for LockModes, and deprecate LockOptions.SKIP_LOCKED
Use LockMode.UPGRADE_SKIPLOCKED instead of setting the timeout to -2.
2022-11-08 00:58:36 +01:00
Gavin King 02ad34091c HHH-15683+HHH-15684 clean up the handling of LockOptions for queries
This contains a change to LockOptions.overlay() which is breaking
in principle, but more natural and less fragile.

It also deprecates SelectionQuery.setAliasSpecificLockMode() which
I believe was added in 6.0 by mistake. The method is an overload of
setLockMode() in the rest of the hierarchy.
2022-11-08 00:58:36 +01:00
Gavin King 58ba65f529 HHH-15682 add ImmutableLockOptions
here we had an amazing idiom: static final instances of a mutable value class
2022-11-08 00:58:36 +01:00
Gavin King 61294250b3 HHH-15680 deprecate LockRequest and add overloads of lock() which accept LockOptions 2022-11-08 00:58:36 +01:00
Gavin King 4b7fcb5123 HHH-15681 use enum instead of boolean of lock scopes
also a bunch of Javadoc improvement for LockOptions and friends
2022-11-08 00:58:36 +01:00
Gavin King a5fa3739e2 HHH-15678,HHH-15677,HHH-15676 add two methods to SessionFactory and deprecate one
- added getDefinedFetchProfileNames() for consistency
- added findEntityGraphByName() which already existed but was not exposed
- deprecated getFilterDefinition() since it's a layer-breaker
- improved+added some Javadoc
2022-11-08 00:29:55 +01:00
Davide D'Alto af5ebb2a7f HHH-15581 Extract skipRow and bindParameters from DeferredResultSetAccess
So that Hibernate Reactive can call them.
2022-11-07 14:29:15 +00:00
Davide D'Alto 2f45da6e35 HHH-15581 Extract ResultHelper#createRowReader
This way Hibernate Reactive can call it and avoid
duplicated code.
2022-11-07 14:29:15 +00:00
Davide D'Alto 954eb793aa HHH-15581 Make EntityAction extends ComparableEntityAction 2022-11-07 14:29:15 +00:00
Davide D'Alto 76ba315194 HHH-15581 Add ComparableEntityAction interface 2022-11-07 14:29:15 +00:00
Davide D'Alto 75765905cc HHH-15581 Add getters so that Hibernate Reactive can access the fields 2022-11-07 14:29:15 +00:00
Davide D'Alto 1a9a3c1c4b HHH-15581 Extend the scope of several methods
This way Hibernate Reactive can access or override them.
2022-11-07 14:29:15 +00:00
Andrea Boriero 3897f61136 HHH-15608 Error In Native Query where column is mapped twice 2022-11-07 10:42:51 +01:00
Andrea Boriero 2ddd9b1e08 HHH-15608 Add test for issue 2022-11-07 10:42:51 +01:00
Philippe Marschall 4aede4ca88 HHH-15670 Implement RequiresDialectFeature.reverse()
- implement RequiresDialectFeature.reverse()
- remove not-feature checks to reverse = true
2022-11-07 09:32:22 +01:00
Christian Beikov 0b733d4ba2 HHH-15641 Enable inlineDirtyChecking and lazyLoading for enhancement by default and deprecate the setting 2022-11-07 09:19:26 +01:00
Gavin King c1e1b58e57 link to equivalent JPA operations on PersistenceUtil in javadoc 2022-11-06 15:10:52 +01:00
Gavin King 971a022eb6 Javadoc surrounding fetch profiles 2022-11-06 15:10:52 +01:00
Gavin King f9164fc32f explain what a second-level cache is in Javadoc 2022-11-05 13:37:17 +01:00
Gavin King 4a2792bed8 improvements to javadoc for StatelessSession, Session, and overview page 2022-11-05 13:37:17 +01:00
Gavin King c7b42097aa light cleanup of AnnotationBinder 2022-11-05 11:28:23 +01:00
Gavin King 3d9bf07ac8 miscellaneous code cleanups 2022-11-04 22:31:43 +01:00
Gavin King 0d2aa57b5d HHH-15671 remove long-deleted interface RelationalModel 2022-11-04 22:31:43 +01:00
Gavin King ba3d5b4dd7 deprecate impls of decrecated interface NamingStrategy 2022-11-04 22:31:43 +01:00
Gavin King 7593d580b7 fix name of ResultSetMappingSecondPass 2022-11-04 22:31:43 +01:00
Gavin King a39fcf7669 remove unused direct annotation impl CustomizableColumns 2022-11-04 22:31:43 +01:00
Gavin King cea6774f01 HHH-15663 add @Generated(sql=....) 2022-11-04 17:51:00 +01:00
Gavin King f6e65dc91a tests for HHH-15663 and HHH-15570 2022-11-04 17:51:00 +01:00
Gavin King 383ffa56eb HHH-15663 add writable member to @Generated annotation
This is useful if you're using custom SQL, e.g. @SqlInsert.

Also improve the Javadoc surrounding all this stuff.
2022-11-04 17:51:00 +01:00
Gavin King aef9ab2425 HHH-15570 allow @SqlInsert, @SqlUpdate, @SqlDelete for secondary tables 2022-11-04 17:51:00 +01:00
Andrea Boriero 28b253512e HHH-15666 When a reference entry is found in the Second Level Cache there is not need to set its values 2022-11-04 16:15:54 +01:00
Andrea Boriero 865f28a5d5 HHH-15666 Add test for issue 2022-11-04 16:15:54 +01:00
Sanne Grinovero ca79c91c56 HHH-15662 ClasscastException caused by check for Managed rather than ManagedEntity 2022-11-04 08:54:05 +00:00
Sanne Grinovero bde7362d9c HHH-15634 Extracting reusable Type constants from ByteBuddy InlineDirtyCheckingHandler 2022-11-03 19:48:42 +00:00
Sanne Grinovero 93355272fd HHH-15634 Extracting constant for @Transient annotation in ByteBuddy Enhancer 2022-11-03 19:48:42 +00:00
Scott Marlow a40fea29c0 HHH-15656 use privileged action when invoking ScheduledExecutorService.shutdown
Signed-off-by: Scott Marlow <smarlow@redhat.com>
2022-11-03 17:41:28 +01:00
Scott Marlow 8f2325ed4a HHH-15655 use privileged operation when defining classes
Signed-off-by: Scott Marlow <smarlow@redhat.com>
2022-11-03 17:41:28 +01:00
Gavin King 0b34025f1a HHH-15652 add missing Session.remove(entityName, object) method
Since we deprecated delete() there's no blessed way to do this.
2022-11-02 19:21:00 +01:00