Commit Graph

9229 Commits

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