Commit Graph

9463 Commits

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