Commit Graph

9074 Commits

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