Commit Graph

9804 Commits

Author SHA1 Message Date
Gavin 80feec0c53 use @value instead of @link + delete an obsolete logger 2023-01-05 12:15:27 +01:00
Christian Beikov f0cc803b50 Javadoc for TemporaryTableKind 2023-01-05 11:57:02 +01:00
Gavin 1fd45b607c thorough jdoc review and trivial changes to Dialect 2023-01-05 11:19:16 +01:00
Gavin 6f4fe47c54 update log message about hibernate.create_empty_composites.enabled 2023-01-05 11:19:16 +01:00
Steve Ebersole d7201815d5 HHH-15977 - Deprecate @Persister 2023-01-04 13:36:04 -06:00
Gavin 43316e9101 fix a minor bug in RowIdJdbcType 2023-01-04 20:11:37 +01:00
Gavin b233904c6e add two @Override annotations 2023-01-04 20:11:37 +01:00
Christian Beikov b515ec45a0 Mark @Struct annotation to be incubating 2023-01-04 19:56:15 +01:00
Gavin King 1117436090 Update hibernate-core/src/main/java/org/hibernate/boot/model/FunctionContributor.java
Co-authored-by: Steve Ebersole <steve@hibernate.org>
2023-01-04 19:38:24 +01:00
Gavin ecf4d30c50 make Dialect implement TypeContributor and FunctionContributor
there is little *concrete* benefit to this change, and it's slightly break-y but:

- it removes a dependence on the @Incubating type QueryEngine from Dialect
- we eat our own dogfood, that is, use our own abstractions
- it appears that this was how it was *originally* intended to be
2023-01-04 19:38:24 +01:00
Christian Beikov 9080a387fa Fix HANA test failures on CI 2023-01-04 19:23:34 +01:00
Gavin 80a27ebcbe add a note about integrations to the overview 2023-01-04 17:21:32 +01:00
Gavin 08de2ff104 after all that, we've decided that a better solution is to coerce the enum to the right type
so I'm going to accept both interpretations of the enum, which is better for the user,
and this is also much cleaner implementation-wise

This effectively rolls back most of the previous work on HHH-15711
2023-01-04 17:05:32 +01:00
Gavin 1074891a36 migrate to accessing QueryParameterBindingTypeResolver via MappingMetamodelImplementor
it's just not elegant to have it as a supertype of SessionFactoryImplementor (so deprecate that)
2023-01-04 17:05:32 +01:00
Gavin 196d7a1b5a resolve an issue with ArgumentsValidator and access to the MappingMetamodel
(ideally we should never access the MappingMetamodel from ArgumentsValidator)
2023-01-04 17:05:32 +01:00
Marco Belladelli 9369fbd597 Fix date_trunc function for DB2 10 2023-01-04 16:41:14 +01:00
Christian Beikov 2c724d9172 Fix entity naming for Oracle 11 2023-01-04 16:05:30 +01:00
Christian Beikov 39d876e4d3 Fix array value binding for native queries on DBs that have a TINYINT DDL type 2023-01-04 14:31:25 +01:00
Christian Beikov 85a96de131 Fix identity select statement caching 2023-01-04 14:31:25 +01:00
Gavin e3f1c2741d HHH-15960 make @Comment annotation repeatable and properly test it
I didn't quite nail this one first time round :-/
2023-01-04 13:40:44 +01:00
Andrea Boriero 98957c3509 HHH-15854 Improve CollectionInitializer and EntityDelayedFetchInitializer resolveInstance methods performance when the parent entity is initialized 2023-01-04 12:09:34 +01:00
Andrea Boriero 312d7e11a6 HHH-15794 NullPointerException when constructing mapping model for nested embeddables with not optional ManyToOne 2023-01-04 11:55:56 +01:00
Andrea Boriero 17e48d2ace HHH-15794 Add test for issue 2023-01-04 11:55:56 +01:00
Andrea Boriero a3038f94fa HHH-15967 @OneToOne(mappedBy = ..., fetch = LAZY) in embedded referencing an association within another embedded 2023-01-04 11:11:39 +01:00
Andrea Boriero ecde949c7f HHH-15967 Add test for issue 2023-01-04 11:11:39 +01:00
Marco Belladelli 475e4944df HHH-15866 Handle nested embeddables inside EmbeddedId 2023-01-04 10:52:42 +01:00
Marco Belladelli 60fc0c018a HHH-15866 Handle DependantValue when building embedded attr mapping 2023-01-04 10:52:42 +01:00
Marco Belladelli 461383c8d1 HHH-15866 Add test for issue 2023-01-04 10:52:42 +01:00
Marco Belladelli e39473139e HHH-15865 Fix CI test failures due to GenerationType.IDENTITY 2023-01-04 10:02:00 +01:00
Gavin b7b5fb7559 avoid the use of TypeConfiguration.getServiceRegistry() 2023-01-03 21:06:49 +01:00
Gavin e8f899ffbc avoid the use of TypeConfiguration.getSessionFactory() which is not very typesafe
continue sorting out issues with lifecycle of SessionFactoryImpl and friends
2023-01-03 21:06:49 +01:00
Gavin 91c69d72a7 work on jdoc of Dialect (mostly just formatting) 2023-01-03 21:06:49 +01:00
Gavin d285464302 refresh jdoc for TC and TCA 2023-01-03 21:06:49 +01:00
marko-bekhta b47049f892 HHH-15962 Provide simple default impl for new members of `SchemaManagementTool` interface
- make both `getSchemaTruncator/buildGenerationTargets` as default methods throwing `UnsupportedOperationException`
2023-01-03 10:36:44 +01:00
LLEFEVRE ccf4fac124 HHH-15961 Speed-up Oracle CI build 2023-01-03 10:26:46 +01:00
Gavin 4670087c1a mention XML mappings in overview 2023-01-02 22:26:31 +01:00
Gavin c7a26efed5 more jdoc improvements to annotations 2023-01-02 21:48:47 +01:00
Gavin b7f34795df fix for databases which don't like multiple 'check' keywords
- also check for dupe constraints (for some reason they get added)
2023-01-02 21:45:02 +01:00
Gavin f385fa063a consistently allow multiple @Check constraints
+ improvements to jdoc of @Formula and @Check
2023-01-02 21:45:02 +01:00
Gavin aeabc0e48e eliminate SQL parsing when there are no secondary tables 2023-01-02 21:45:02 +01:00
Gavin 822153948c further reduce direct use of SessionFactory during metamodel building 2023-01-02 21:45:02 +01:00
Gavin 102ef2f469 refactor some functionality out of constructor SessionFactoryImpl into observers 2023-01-02 21:45:02 +01:00
Gavin 7aa92a7c05 allow @Formulas to refer to columns of @SecondaryTables
(this is something that was previously only possible using hbm.xml)

also attempt a partial fixup of the initialization process where SessionFactoryImpl
constructor leaked out an uninitialized reference to itself (it still leaks, but
not as badly)
2023-01-02 21:45:02 +01:00
Gavin 1eba25a466 add some doc to AttributeContainer 2023-01-02 21:45:02 +01:00
Gavin 117851e4a4 add example to @Comment 2023-01-02 21:45:02 +01:00
Gavin 1657c22aca automatically detect when a @Check refers to a @SecondaryTable
- also support named check constraints (multiple of them)
- also support check constraints on collection tables
2023-01-02 21:45:02 +01:00
Gavin abb89a32b1 minor change to code 2023-01-02 21:45:02 +01:00
Gavin c718a46285 improve some error messages 2023-01-02 21:45:02 +01:00
Marco Belladelli 90c767681e HHH-15865 Store attribute metadata for inverse EmbeddedAttributeMapping 2023-01-02 12:07:13 +01:00
Marco Belladelli 8f7b8b8fa2 HHH-15865 Add test for issue 2023-01-02 12:07:13 +01:00
Marco Belladelli 8b7ad24756 HHH-15868 Fix log function test on CockroachDB 2023-01-02 11:21:03 +01:00
Gavin a1853a8c05 HHH-15960 reimplement @Column using the o.h.binder infrastructure and add @Comment(on ="...")
this lets me deprecate @Table(comment = "...") and gets rid of all the passing-Comment-objects-around
2023-01-01 21:36:42 +01:00
Gavin df5980226c HHH-15959 add TypeBinders + fix multiple AttributeBinders on a single field 2023-01-01 21:36:42 +01:00
Gavin e48a8120a9 improve some error messages 2023-01-01 17:25:07 +01:00
Gavin 76b2f92f39 HHH-15958 support the @RowId annotation on DB2 LUW
... and perhaps also on DB2 for z and i (no way to test it)
2023-01-01 17:25:07 +01:00
Gavin 366208924f clean up the JdbcSessionContext SPI + related code
- encapsulate stuff better within JdbcSessionContext
- fix lots of warnings
- deprecate stuff
2023-01-01 16:04:29 +01:00
Gavin 689cca1963 HHH-15958 much better support for @RowId annotation
- the rowid pseudo-column and type are now determined automatically from Dialect
- works (after all these years) in Postgres (and also on h2)
- introduce RowIdJdbcType (not strictly necessary, but a nicety)
2023-01-01 14:20:44 +01:00
Gavin 6da38d0b05 examples of a couple of nice ways to use the Session 2022-12-31 20:15:12 +01:00
Gavin 2576f74ade jdoc for org.hibernate.engine.jdbc.connections.spi 2022-12-31 19:05:06 +01:00
Gavin 6eccc49856 new blurb about OptimisticLocking in package-level doc for annotations 2022-12-31 18:37:11 +01:00
Gavin 5bc6558b07 allow @Nationalized to be used as a meta-annotation 2022-12-31 17:47:20 +01:00
Gavin 6523599106 allow @CollectionIdType to be used as meta-annotation
this was always intended, I believe
2022-12-31 17:47:20 +01:00
Gavin e89015fd8c document the use of typing annotations as meta-annotations 2022-12-31 17:47:19 +01:00
Gavin 60e5b75282 fix the misleading documentation of the @Bag annotation
and improve error reporting when used in a nonsensical way
2022-12-31 17:47:19 +01:00
Gavin a1d52b0bb1 minor cleanups to HCANNHelper 2022-12-31 17:47:19 +01:00
Gavin 327342b39e correct implementation of JPA SharedCacheMode for .hbm.xml
- even though I hate most of its members, I think NONE is pretty useful
- anyway we may as well make it work, since it's trivial
2022-12-31 13:33:26 +01:00
Gavin 1db1c08d3b document a couple of limitations 2022-12-31 13:27:03 +01:00
Gavin 1fe2509b3b minor edits to the jdoc of o.h.boot.spi package 2022-12-31 13:11:22 +01:00
Gavin 699e333ff1 javadoc for MetadataBuildingOptions 2022-12-31 12:31:45 +01:00
Gavin d1c9c4abac very minor doc fixes 2022-12-31 12:07:47 +01:00
Gavin 98d693501a mark Caching and TypeBeanInstanceProducer for potential package moves 2022-12-31 12:06:25 +01:00
Gavin cb103256e1 misc minor doc fixes and compiler warning fixes 2022-12-31 11:25:43 +01:00
Gavin 1d7ecf61c5 improve doc for SqmFunctionDescriptor 2022-12-31 09:58:51 +01:00
Gavin 46dec087fc @link -> @linkplain 2022-12-31 09:30:38 +01:00
Gavin 1a0be6e887 add a code example lifted from the Native Bootstrapping guide to jdoc 2022-12-31 09:27:50 +01:00
Gavin e9f826ee3c improve SchemaAutoTooling enum, making it usable for config 2022-12-31 09:18:56 +01:00
Gavin 66a2f492aa mention dialects in overview 2022-12-31 01:05:13 +01:00
Gavin 0d9a32a9df java-document the use of @Immutable and @Mutability with AttributeConverters 2022-12-31 00:32:39 +01:00
Gavin efd6c8c6fd add cross-refs I missed 2022-12-30 21:59:40 +01:00
Gavin a3059fb9d7 properly document TypeContributor and FunctionContributor 2022-12-30 21:29:16 +01:00
Gavin ce7193696d improve package doc for o.h.query.sqm 2022-12-30 20:13:45 +01:00
Gavin 1a28bb2a3c bootstrapping overview 2022-12-30 19:34:19 +01:00
Gavin 0157d1a1b6 attempt to make better sense of some of this service-related stuff in the docs 2022-12-30 19:32:57 +01:00
Gavin 3381ac2887 document natural ids and generators in annotations package 2022-12-30 16:04:17 +01:00
Gavin 6b4d787caf document the boolean converters 2022-12-30 14:45:28 +01:00
Gavin 263e303829 add documentation about filters 2022-12-30 14:01:09 +01:00
Gavin 9ea6f162fd slight cleanup to the docs for o.h.cache.spi.support 2022-12-30 13:39:18 +01:00
Gavin 61f71030ff incorporate a useful rant about caching in javadoc 2022-12-30 13:24:07 +01:00
Gavin 31f11f4e3c more information about Types in javadoc 2022-12-30 12:37:06 +01:00
Gavin ca25c114be add some missing doc to MetadataBuilder stuff 2022-12-30 00:46:36 +01:00
Gavin fc6db246a8 introduce JpaSettings and improve docs of org.hibernate.jpa.boot 2022-12-30 00:46:36 +01:00
Gavin d6be936da3 improve the documentation for stuff about AttributeConverters and mutability 2022-12-30 00:46:36 +01:00
Gavin 8aba946e77 move FormatMapper and its implementations to a dedicated package
it doesn't belong in the root org.hibernate.type namespace!
2022-12-30 00:46:36 +01:00
Gavin aef9d064db more docs for type package 2022-12-30 00:46:36 +01:00
Gavin c829c84d55 BigDecimalJavaType and BigIntegerJavaType should support conversion to String 2022-12-30 00:46:36 +01:00
Gavin b4b8e955f8 clean up imports 2022-12-30 00:46:36 +01:00
Gavin 7dad0e38e2 better docs for FormatMapper 2022-12-30 00:46:36 +01:00
Gavin 9e8b24f691 very minor 2022-12-30 00:46:36 +01:00
Gavin a03486dc55 deprecate the experimental (and buggy) feature hibernate.create_empty_composites.enabled
see HHH-11936
2022-12-30 00:46:36 +01:00
Gavin b2586d5f2a clean up very obsolete doc of SessionFactoryImpl 2022-12-30 00:46:36 +01:00
Gavin 704c524e7c more minor doc fixes 2022-12-30 00:46:36 +01:00
Gavin 53982b78fb fix incorrect doc of CurrentTenantIdentifierResolver 2022-12-30 00:46:36 +01:00
Gavin 7b493f30fb Configuration improvements
- methods of Configuration should consistently return this
- remove a redundant warning
- add StatementInspector, ColumnOrderingStrategy, CustomEntityDirtinessStrategy to Configuration
  (at least two out of three of these are pretty useful!)
2022-12-30 00:46:36 +01:00
Gavin 2ada31b899 mention naming strategies in overview 2022-12-30 00:46:36 +01:00
Gavin 0bcf19d85b minor changes 2022-12-30 00:46:36 +01:00
Gavin c3a35821bd more doc cleanups 2022-12-30 00:46:36 +01:00
Gavin f8b50b39d7 remove the unused ParameterRegistration stuff in org.hibernate.jpa.spi
these types appear to be already unused in H5!

this can't possibly break anything: anything using it is already broken
2022-12-29 15:04:51 +01:00
Gavin 81a3541d26 clean up the package org.hibernate.engine.transaction
- it had classes/interfaces which are already unused in H5!
- move TransactionObserver and IsolationDelegate to a much
  more sensible location next to TransactionCoordinator

This will break custom implementations of TransactionCoordinator
but I highly doubt there are very many of those!
2022-12-29 15:04:51 +01:00
Gavin c6f0be990c yet more work on the API documentation
- and get rid of people's email addresses, they don't belong in the code
2022-12-29 15:03:09 +01:00
Gavin 5246ec508c delete two unused files 2022-12-29 15:03:09 +01:00
Gavin 95cede87ed further work on the API documentation 2022-12-29 03:30:10 +01:00
Gavin 37042f9b77 documentation improvements, especially to the boot package
also deprecate some unused stuff
2022-12-29 00:39:23 +01:00
Gavin 347ad56772 delete unused ReturnMetadata class 2022-12-29 00:39:23 +01:00
Gavin c7845582d4 delete unused TypeNames class 2022-12-29 00:39:23 +01:00
Gavin 273b1cb251 remove unused interface Loggable 2022-12-29 00:39:23 +01:00
Gavin cc46b622be minor code changes 2022-12-28 15:08:16 +01:00
Gavin 60884a4c3a get rid of "NOTE :" which looks terrible in compiled javadoc
- use @implNot / @apiNot instead
2022-12-28 15:08:16 +01:00
Gavin b3625a34e4 delete two unused classes 2022-12-28 15:08:16 +01:00
Gavin 3d14d1b25f minor cleanups in QueryBinder 2022-12-28 15:08:16 +01:00
Gavin 33fec62a56 some cleanups in OracleDialect 2022-12-28 15:08:16 +01:00
Gavin 81851dc985 document correspondence between @NamedQuery members and query hints 2022-12-28 15:08:16 +01:00
Gavin 7cc701902d delete test I did not mean to commit 2022-12-28 01:46:43 +01:00
Gavin d8944e2326 forgot to deprecate PolymorphismType when we did @Polymorphism 2022-12-28 01:40:46 +01:00
Gavin 4d3dd2c436 document future plans for some dupe enums 2022-12-28 01:40:21 +01:00
Gavin 16be6a821b improvements to two competing enums: CacheConcurrencyStrategy + AccessType 2022-12-28 01:16:35 +01:00
Gavin 3569efcf7a finish updating javadoc of query package 2022-12-28 00:15:05 +01:00
Gavin 6c3131b981 improve doc for CurrentSessionContext 2022-12-27 23:15:23 +01:00
Gavin f7a4343a33 write a bit of an essay about the mapping package 2022-12-27 23:15:23 +01:00
Gavin 0ff3379f69 rename an instvar 2022-12-27 23:15:23 +01:00
Gavin 713b1a82cf fix indenting 2022-12-27 23:15:23 +01:00
Gavin 7f444e41bf add a cross-ref to jdoc that I forgot 2022-12-27 23:15:23 +01:00
Gavin c86539b6b1 clean up the constructor of SessionFactoryImpl
this was a really awful mess!
2022-12-27 23:15:23 +01:00
Gavin b0479c5f29 HHH-15888 clean up exception reporting in Column
- and generally tidy up that class a bit
- make state management in Column safer using assertions
- fix minor potential bug spotted by CodeQL
2022-12-27 23:15:23 +01:00
Gavin 109dac9a85 @link -> @linkplain 2022-12-27 16:17:57 +01:00
Gavin addb48fe82 change SessionFactory.getCriteriaBuilder() to return HibernateCriteriaBuilder 2022-12-27 16:17:57 +01:00
Gavin d6b8ed710f improvements to javadoc of Query and NativeQuery 2022-12-27 16:17:57 +01:00
Gavin 518328d364 add a section & example about DialectOverride 2022-12-27 12:00:02 +01:00
Gavin 11760d3ce3 various jdoc format fixes + improve a package-info
- add some periods
- fix up all the code snippets I messed up
- add some <p>s after lists and code blocks
- improve section of package-info which was hard to understand
- fix jdoc for LobHelper
- fix code example in @ValueGenerationType
2022-12-27 12:00:02 +01:00
Gavin 33c228e715 add a Hibernate look to the javadoc
- add a new stylesheet
- include it in the release
- tidy up the overview page
- include overview and stylesheet when building jdoc from hibernate-core
2022-12-27 12:00:02 +01:00
Gavin 939adfd457 fix code example in TimeZoneStorage 2022-12-26 20:02:09 +01:00
Gavin b293a6b2ac add a couple of @see xrefs 2022-12-26 19:58:18 +01:00
Gavin bee0480d12 examples to @NaturalId javadoc 2022-12-26 19:54:33 +01:00
Gavin 7f2e2c5d79 spaces to tabs 2022-12-26 18:22:06 +01:00
Gavin 31ff2851c7 HHH-15936 add applyInToManyFetch member to @Where 2022-12-26 18:22:06 +01:00
Gavin c9cd12c625 big refactoring of Binders 2022-12-26 18:22:06 +01:00
Gavin dda88668e8 improve some error reporting and add some code comments 2022-12-26 18:22:06 +01:00
Gavin d886c56228 examples of @Cache and documentation around cache enablement 2022-12-26 18:22:06 +01:00
Gavin 110a1f6a56 examples in javadoc for @Any and @ManyToAny 2022-12-26 18:22:06 +01:00
Gavin ca4474159e fix test for case-sensitive databases 2022-12-26 18:22:06 +01:00
Gavin 01d608ca84 HHH-14526 validate table repetition in JOINED hierarchies
and automatically force the discriminator when necessary
2022-12-26 18:22:06 +01:00
Gavin 0f29c15461 HHH-9646 add a test showing the issue is resolved 2022-12-26 18:22:06 +01:00
Gavin 169b9a849c drop arbitrary restrictions on what annotations can go where
also add an error for competing @FilterDefs
2022-12-26 18:22:06 +01:00
Gavin 491b1bc06f HHH-15935 add discriminatorType to @DiscriminatorFormula 2022-12-26 18:22:06 +01:00
Gavin a4191c9e11 test for JPA-46 with a twist
I use a @DiscriminatorFormula and @Basic(optional=false) to do it in a nice way
2022-12-26 18:22:06 +01:00
Gavin a8620b62bb squash a handled NPE and fix some warnings 2022-12-26 18:22:06 +01:00
Gavin 218ace291f HHH-15934 correctly handle @Basic(optional=false)
previously it had no effect
2022-12-26 18:22:06 +01:00
Gavin 9e9a363154 HHH-15933 fix FK generated for ref to secondary table 2022-12-26 18:22:06 +01:00
Gavin 1e57f88674 add failing test for @ManyToOne referencing secondary table 2022-12-26 18:22:06 +01:00
Gavin bedcc0386a add a second test for repeated table names in JOINED with discriminator inheritance 2022-12-26 18:22:06 +01:00
Gavin 8162bd5152 lots more cleanups to persisters 2022-12-26 18:22:06 +01:00
Gavin 5f0b27fb6a detect use of @DiscriminatorOptions(force=true) on JOINED with no @DiscriminatorColumn 2022-12-26 18:22:06 +01:00
Gavin 014847f41b HHH-15932 allow @XxxxToOne associations to target a secondary table 2022-12-26 18:22:06 +01:00
Gavin c7bad70073 fix exceptions for a certain kind of wrong join column mapping 2022-12-26 18:22:06 +01:00
Gavin 408e0ec436 extract a method 2022-12-26 18:22:06 +01:00
Gavin e918f92f48 improvements to how discriminators are handled by AbstractEntityPersister 2022-12-26 18:22:06 +01:00
Gavin b1e2eca53e some cleanups to AbstractEntityInitializer
it had some really long methods
2022-12-26 18:22:06 +01:00
Gavin 608e4ef6d6 fix error messages in InstantiationExceptions 2022-12-26 18:22:06 +01:00
Gavin 2355f98586 HHH-14526 tolerate dupe tables in JOINED inheritance with discriminator
and also support @DiscriminatorOptions for JOINED inheritance
2022-12-26 18:22:06 +01:00
Gavin 4946e8ca45 HHH-14338 use SESSION prefix instead of MODULE for temp tables on HSQLDB
+ more cleanups of HSQLDialect
2022-12-23 23:09:59 +01:00
Gavin 9dbfc29749 introduce SharedSessionDelegatorBaseImpl 2022-12-23 21:39:54 +01:00
Gavin fc62f33a55 many misc cleanups and doc for the Session hierarchy 2022-12-23 21:39:54 +01:00
Gavin a666f98357 minor fixes to javadoc 2022-12-23 13:53:02 +01:00
Marco Belladelli 724ae7986d HHH-15864 Fix collection's owner referring to Embeddable class 2022-12-23 13:23:03 +01:00
Marco Belladelli 84b0da4970 HHH-15864 Add test for issue 2022-12-23 13:23:03 +01:00
Gavin 7c53a2591a add some more tests for cast() function + allow casting to Short 2022-12-23 13:19:33 +01:00
Steve Ebersole 263768d5c5 HHH-15930 - Support scalar resultClass in @NamedNativeQuery 2022-12-22 15:48:37 -06:00
Gavin 501d3869d4 refresh javadoc for exception types 2022-12-22 20:49:55 +01:00
Gavin 79b381795f add missing since 2022-12-22 20:20:15 +01:00
Gavin 25c258db1a minor Javadoc fix 2022-12-22 20:18:06 +01:00
Gavin 865a435b3b re-delete NotYetImplementedFor6Exception to fix main 2022-12-22 20:11:43 +01:00
Gavin afcb933d28 very minor changes to javadoc 2022-12-22 20:05:30 +01:00
Gavin bdc172c1df nove NotImplementedYetException to hibernate-testing 2022-12-22 20:05:30 +01:00
Steve Ebersole d49518e5e4 HHH-15798 - Clean up uses of NotYetImplementedFor6Exceptions 2022-12-22 13:03:03 -06:00
Steve Ebersole cc0d6eaca7 HHH-15798 - Remove NotYetImplementedFor6Exceptions and all uses 2022-12-22 12:27:03 -06:00
Gavin 0f8c26c7a1 add missing @since annotations, fix javadoc comment block syntax 2022-12-22 18:59:45 +01:00
Gavin 2d66ce8b2d clean up CacheModeType enum 2022-12-22 18:21:03 +01:00
Gavin 114a82d438 add some missing @since tags 2022-12-22 18:21:02 +01:00
Steve Ebersole b684ace7e6 migration-guide for 6.2 release 2022-12-22 10:30:00 -06:00
Christian Beikov 4901d2bb61 HHH-15464 Allow JdbcType to expose the type code to use for DDL 2022-12-22 17:25:13 +01:00
Christian Beikov a094d4c5d5 HHH-15463 Adjust JdbcType based on DDL capacity for varchar/varbinary like types 2022-12-22 17:25:13 +01:00
Gavin 66b86ad315 fix some whitespace in package-infos 2022-12-22 16:51:15 +01:00
Gavin 1cd183b999 minor javadoc clarifications 2022-12-22 15:45:28 +01:00
Steve Ebersole 748ebe8456 HHH-15924 - Remove the org.hibernate.metamodel.relational package 2022-12-22 08:17:50 -06:00
Marco Belladelli cbfba13143 HHH-15901 Check for null predicates in where clause 2022-12-22 14:54:31 +01:00
Marco Belladelli 845adf36b9 HHH-15901 Add test for issue 2022-12-22 14:54:31 +01:00
Gavin 0db6136c47 add some @see annotations to Length 2022-12-22 14:35:37 +01:00
Gavin 51f1e2f5bd HHH-15926 allow @Type and @CompositeType to be applied as meta-annotations
this was almost zero work, the implementation was already there
2022-12-22 14:12:20 +01:00
Gavin bc79368cd6 clean up OptimisticLockStyle enum 2022-12-22 14:09:52 +01:00
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