Commit Graph

7655 Commits

Author SHA1 Message Date
Andrea Boriero e08a7665c8 Fix load of entity with Date[] field 2021-12-10 10:21:40 +01:00
Fabio Massimo Ercoli 15121842f1 Test persist of array of dates 2021-12-10 10:21:40 +01:00
nathan.xu 62e55f3c3c HHH-14970 make use of new Java language features from v8 to v11 2021-12-09 21:26:04 -05:00
Gavin King 0bb647e62b revert to previous design with raw types
there is a problem with this approach: the user now gets unchecked
warnings since we've recently filled in the type args of the params
of some methods of Query and NativeQuery

but it's very hard to see how to fix the problem without breaking
compatibility
2021-12-09 21:25:31 -05:00
Gavin King a1e3f0cd6f fix some warnings and clean up some typing issues
this is a general cleanup of the Session + Query hierarchies
2021-12-09 21:25:31 -05:00
Fabio Massimo Ercoli b91944c09a Support statistics when criteria(s) are executed 2021-12-09 15:04:35 -05:00
Fabio Massimo Ercoli f05f002c22 Test statistics of criteria(s) executed 2021-12-09 15:04:35 -05:00
Steve Ebersole e6d4bc6cfa More documentation work 2021-12-09 13:03:34 -06:00
Gavin King b889375eb6 remove left-behind method createSQLQuery() from StatelessSession 2021-12-09 12:59:04 -05:00
Gavin King 6177210395 remove Session.disconnect()/reconnect()
this stuff is so old and so bad that it's not even worth deprecating
2021-12-09 12:38:55 -05:00
Gavin King 042bd47825 finally remove all remaining traces of Session.connection() 2021-12-09 12:38:55 -05:00
Gavin King 75fc936b95 improve the javadoc for AttributeBinder+AttributedBinderType 2021-12-09 18:31:31 +01:00
Gavin King b1ed206339 replace use of <br> with <p> in all the javadoc 2021-12-09 16:22:43 +01:00
Steve Ebersole 44fea07abf HHH-14497 - Drop legacy id-generator settings;
HHH-14718 - Drop deprecated generator implementations
2021-12-09 07:45:44 -06:00
Steve Ebersole 703eaf22a0 HHH-14497 - Drop legacy id-generator settings;
HHH-14718 - Drop deprecated generator implementations
2021-12-09 07:20:28 -06:00
Steve Ebersole 7a6cef5838 Miscellaneous
- Finished DialectVersion
- User Guide tidying
- User Guide section on AttributeBinder
2021-12-09 00:51:40 -06:00
Steve Ebersole fa4b76702c HHH-14950 - Support mapping of embeddables with no setters (assuming a custom instantiator or repo-strategy is used)
Tests;
Remove `ComponentTuplizer` and friends;
Remove `ComponentMetadata`
2021-12-08 21:17:05 -06:00
Steve Ebersole 09cc6d7b00 HHH-14950 - Support mapping of embeddables with no setters (assuming a custom instantiator or repo-strategy is used)
Tests
2021-12-08 17:42:13 -06:00
Steve Ebersole 37bc00e567 HHH-10558 - Add support for java.time.Year;
HHH-13393 - Add support for ZoneId

ZoneOffsetJavaTypeDescriptor was already added
2021-12-08 17:31:02 -06:00
Gavin King 61cba87096 fix the signature of Session.merge()
previously Session.merge() erased the generic type parameter
inherited from the supertype, obligating the client code to
perform a typecast
2021-12-08 17:01:21 -05:00
Steve Ebersole 942dd7283f DialectVersion
- rename `#isSince` to `#isSameOrAfter`
2021-12-08 15:54:50 -06:00
Steve Ebersole 10d759e139 Dialect version 2021-12-08 15:36:48 -06:00
Steve Ebersole d354d49ab1 added `DatabaseVersion#getCanonicalVersion` 2021-12-08 15:07:30 -06:00
Steve Ebersole 43206b02fc initial work on DatabaseVersion#isAfter 2021-12-08 15:07:30 -06:00
Steve Ebersole ad48a01e2c Fix PropertyBinder to use HCANNHelper to resolve meta-annotations 2021-12-08 14:54:13 -06:00
Steve Ebersole 848c9f0914 HHH-14497 - Drop legacy id-generator settings;
HHH-14718 - Drop deprecated generator implementations;
HHH-14959 - Drop IdentifierGeneratorFactory as a Service;
HHH-14960 - Add @GeneratorType for better custom generator config;
HHH-14496 - Deprecate (or drop) IdGeneratorStrategyInterpreter;
HHH-14961 - Deprecate (or drop) IdentifierGeneratorStrategyProvider;
HHH-14962 - Delay actual creation of IdentifierGenerator instances as late as possible

Add `GenerationTypeStrategy` and `GenerationTypeStrategyRegistration`;
deprecate org.hibernate.jpa.spi.IdentifierGeneratorStrategyProvider
2021-12-08 14:35:09 -06:00
Steve Ebersole 3c97ac2077 HHH-14497 - Drop legacy id-generator settings;
HHH-14718 - Drop deprecated generator implementations;
HHH-14959 - Drop IdentifierGeneratorFactory as a Service;
HHH-14960 - Add @GeneratorType for better custom generator config

Fixed CustomGeneratorTests failure on databases which do not support sequences
2021-12-08 14:35:09 -06:00
Steve Ebersole 1e8f6f9bbd HHH-14497 - Drop legacy id-generator settings;
HHH-14718 - Drop deprecated generator implementations;
HHH-14959 - Drop IdentifierGeneratorFactory as a Service;
HHH-14960 - Add @GeneratorType for better custom generator config

org.hibernate.id.factory.spi.StandardGenerator
2021-12-08 14:35:09 -06:00
Steve Ebersole c5ad9e129e HHH-14497 - Drop legacy id-generator settings;
HHH-14718 - Drop deprecated generator implementations;
HHH-14959 - Drop IdentifierGeneratorFactory as a Service;
HHH-14960 - Add @GeneratorType for better custom generator config
2021-12-08 14:35:09 -06:00
Steve Ebersole ce4f22f400 HHH-14497 - Drop legacy id-generator settings;
HHH-14718 - Drop deprecated generator implementations;
HHH-14959 - Drop IdentifierGeneratorFactory as a Service;
HHH-14960 - Add @GeneratorType for better custom generator config
2021-12-08 14:35:09 -06:00
Steve Ebersole c394261508 HHH-14497 - Drop legacy id-generator settings;
HHH-14718 - Drop deprecated generator implementations;
HHH-14959 - Drop IdentifierGeneratorFactory as a Service
2021-12-08 14:35:02 -06:00
Gavin King ce3644e81d add a wildcard to generic type
and slightly improve javadoc
2021-12-08 08:44:09 -05:00
Gavin King 13983e1449 detect the MultiTenantConnectionProvider when registered as a service
instead of looking at the property
2021-12-08 08:44:09 -05:00
Gavin King 6d43d62a5a fix test fallout from rebase
update test to jakarta package name
and refix moved tests
2021-12-08 08:44:09 -05:00
Gavin King 8f7e0c4c2f HHH-6054 introduce notion of a "root" tenant 2021-12-08 08:44:09 -05:00
Gavin King 47d0b1265f improve the test for tenant ids 2021-12-08 08:44:09 -05:00
Gavin King 341eb413f0 clean up PropertyBinder a bit 2021-12-08 08:44:09 -05:00
Gavin King 2a2bf17f8f redefine AttributeAccessor in terms of the new AttributeBinder API 2021-12-08 08:44:09 -05:00
Gavin King 5837a60e71 HHH-6054 introduce AttributeBinder and @AttributeBinderType
and introduce TenantIdBinder on top of this stuff
also make @TenantId imply non-null, immutable
2021-12-08 08:44:09 -05:00
Gavin King ea0dd35362 HHH-6054 improve error checking 2021-12-08 08:44:09 -05:00
Gavin King 8af548b52d HHH-6054 allow ValueGenerator to inspect current value of property
use this to throw exception from TenantIdGeneration
2021-12-08 08:44:09 -05:00
Gavin King 505bea6ffd HHH-6054 support for discriminator-based multitenancy
added the @TenantId annotation
also allow @TenantId @Formula
2021-12-08 08:44:09 -05:00
gavin b2e6965577 remove MultiTenancyStrategy
Use the existence of a MultiTenantConnectionProvider to infer that multitenancy is enabled.
2021-12-08 08:44:09 -05:00
Steve Ebersole 915da5228d HHH-14497 - Drop legacy id-generator settings;
HHH-14718 - Drop deprecated generator implementations
2021-12-07 11:12:44 -06:00
Andrea Boriero 189bc54dbd Fix EntityEntry loaded state for persistent arrays 2021-12-07 16:30:57 +01:00
Christian Beikov 6c4ec95182 * Cleanup temporary table handling in dialects
* Fix insert handling with respect to version, discriminator and generated identifier insertion
* Introduce SqmMultiTableInsertStrategy to handle multi-table inserts
* Introduce the notion of an "entity table" similar to the "id table" to handle multi-table insertions
* Implement table based and cte based multi-table insertion to support all dialects
* Implement identifier generator optimizer support for multi-table insert
* Fix validation of insert target paths against select item types
* Fix some DML validations
* Implement over-clause support in SQL AST
* Fix multi-valued filter parameter support
2021-12-07 15:54:01 +01:00
Andrea Boriero c959c7656c Fix IdentifiableType#getId(Class<Y> type) failing for primitive types 2021-12-07 12:49:10 +01:00
Yoann Rodière 37d3b66ce4 HHH-14922 Give precedence to default catalog/schema over implicit catalog/schema 2021-12-07 08:25:50 +01:00
Yoann Rodière 30e3aa4e7f HHH-14922 Delay applying the implicit catalog/schema until schema management tool or session factory creation
This is necessary if we want the default catalog/schema to take
precedence, since the default catalog/schema is applied late,
on schema management tool or session factory creation.
2021-12-07 08:25:50 +01:00
Yoann Rodière 8f1d1c43ce HHH-14922 Test behavior when setting both implicit catalog/schema and default catalog/schema 2021-12-07 08:25:50 +01:00
Yoann Rodière aafacbec47 HHH-14921 Test handling of default catalog and schema when not configured during metadata creation 2021-12-07 08:25:50 +01:00
Yoann Rodière 944c90061a HHH-14921 Test handling of default catalog and schema 2021-12-07 08:25:50 +01:00
Yoann Rodière 4d5306a82d HHH-14921 Delay determination of the default catalog/schema until schema management tool or session factory creation 2021-12-07 08:25:50 +01:00
Yoann Rodière 495bd51caa HHH-14921 Always use SqlStringGenerationContext for generation of SQL strings involving table/sequence names 2021-12-07 08:25:50 +01:00
Yoann Rodière b6f833441a HHH-14921 Delay generation of SQL strings by identifier generators until schema export or session factory creation 2021-12-07 08:25:50 +01:00
Yoann Rodière 0c644fa16d HHH-14921 Remove unused method PersistentIdentifierGenerator#generatorKey 2021-12-07 08:25:50 +01:00
Yoann Rodière 16524e2f67 HHH-14921 Remove a few unused SQL generation methods in identifier generators
They are getting in the way of changes related to the default schema
2021-12-07 08:25:50 +01:00
Yoann Rodière cc13379c77 HHH-14921 Clarify that org.hibernate.mapping.AuxiliaryDatabaseObject has been replaced with org.hibernate.boot.model.relational.AuxiliaryDatabaseObject 2021-12-07 08:25:50 +01:00
Yoann Rodière 012bcd1cfb HHH-14921 Clarify the ability of IdentifierGenerator to be configured and to register exportables 2021-12-07 08:25:50 +01:00
Christian Beikov 05d536d345 Polishing: fix wrong variable name 2021-12-06 20:29:59 +01:00
Christian Beikov e1a976bce0 HHH-14211 Switch to using oid for CLOB in PostgreSQL to avoid losing data after vacuumlo 2021-12-06 20:27:55 +01:00
Steve Ebersole 0f46ee2466 Tests for checking multiple execution of EmbeddableInitializers 2021-12-06 13:26:48 -06:00
Steve Ebersole 099dd55b94 Tests for checking multiple execution of EmbeddableInitializers 2021-12-06 12:30:10 -06:00
Andrea Boriero acc870ea14 Merge branch 'wip/6.0' of https://github.com/hibernate/hibernate-orm into wip/6.0 2021-12-06 17:46:12 +01:00
Andrea Boriero 74a395d744 Merge branch 'main' into wip/6.0 2021-12-06 17:39:07 +01:00
Christian Beikov bab32c3100 Small cleanup and add migration guide sections 2021-12-06 17:21:25 +01:00
Steve Ebersole 9028adc30e Clean up test logging (hibernate-core) 2021-12-06 10:12:25 -06:00
Christian Beikov 2d871d64f2 HHH-14897 Allow ordering with nulls first/last in JPA Criteria 2021-12-06 16:49:20 +01:00
Andrea Boriero 7dc70e9350 Fix ToOneAttributeMapping bidirectionalAttributeName value determination 2021-12-06 16:43:44 +01:00
Fabio Massimo Ercoli 71204a9e97 Test load contained in double containing 2021-12-06 16:43:44 +01:00
Steve Ebersole 087d486d6b Tests for debugging potential multiple calls to EmbeddableInstantiators 2021-12-04 13:53:10 -06:00
Steve Ebersole 9287b97cd3 HHH-14949 - Support @Access on @ElementCollection (for embeddable elements)
Fix
2021-12-03 15:32:13 -06:00
Steve Ebersole 86799d6c28 HHH-14949 - Support @Access on @ElementCollection (for embeddable elements)
Test
2021-12-03 15:32:13 -06:00
Steve Ebersole c190d37a57 initial work on DialectVersionDetails.isAfterDatabaseVersion 2021-12-02 21:36:52 -06:00
Steve Ebersole 9367561fe4 6.0 Beta2 2021-12-02 16:46:09 -06:00
Steve Ebersole 8203da2de1 Fix EnhancedProxy with Embeddable and Lazy BasicAttribute
- added log message when this condition occurs
- tried adding a `LoggerInspectionRule` based assertion to the test, but found that that rule is unfortunately very dependent on the message actually being logged
2021-12-02 15:44:17 -06:00
Fabio Massimo Ercoli 9f155a95ab Fix EnhancedProxy with Embeddable and Lazy BasicAttribute 2021-12-02 15:44:17 -06:00
Jan Schatteman 69cd716e37
Revert deprecations on main (#4412)
* Revert "HHH-14857 - Deprecations in preparation for 6"

This reverts commit 91e29358be.

* Revert "HHH-14857 - Deprecations in preparation for 6"

This reverts commit e4b56b9271.
2021-12-02 22:06:01 +01:00
Steve Ebersole ae25b651ca HHH-14885 - New composite user-type
HHH-14951 - Add @EmbeddableRepresentationStrategy

Prep work for `@EmbeddableRepresentationStrategy` - mostly move things from spi package to api, generally all marked `@Incubating`
2021-12-02 14:49:23 -06:00
Steve Ebersole e06a3dcdbc HHH-14885 - New composite user-type
HHH-14950 - Support mapping of embeddables with no setters (assuming a custom instantiator or repo-strategy is used)

Tests illustrating that HHH-14950 does indeed happen
2021-12-02 12:49:16 -06:00
Steve Ebersole 4b69854b9c HHH-14885 - New composite user-type
Initial work on interface-based embeddables with custom instantiator
2021-12-02 12:42:14 -06:00
Steve Ebersole 8339dffb88 HHH-14885 - New composite user-type
Initial work on interface-based embeddables
2021-12-02 06:52:22 -06:00
Christian Beikov 4cdc1c24fa Cleanup some model part APIs 2021-12-02 13:20:47 +01:00
Christian Beikov 47416b9e24 Fixup review comments 2021-12-02 13:17:53 +01:00
Andrea Boriero 9392b94ee7 Fix MatchingIdSelectionHelper#selectMatchingIds 2021-12-02 13:17:53 +01:00
Andrea Boriero b436392167 Re-enable additional tests 2021-12-02 13:17:53 +01:00
Andrea Boriero 7fa5d45175 Fix resolving id columns for NativeQuery with inplicit joins and aliases 2021-12-02 13:17:53 +01:00
Andrea Boriero 9bd5360bf2 Re-enabled additional tests 2021-12-02 13:17:53 +01:00
Andrea Boriero 9ef99082e1 Re-enabled additional tests 2021-12-02 13:17:53 +01:00
Andrea Boriero 0fd83cf649 Fix resolving id columns for NativeQuery with inplicit joins and aliases 2021-12-02 13:17:53 +01:00
Andrea Boriero 91cc3d8d51 Re-enabled additional tests 2021-12-02 13:17:53 +01:00
Andrea Boriero 16460cf3ab Re-enable additional tests 2021-12-02 13:17:53 +01:00
Fabio Massimo Ercoli 430071027c Avoid to recreate the DomainParameterXref twice 2021-12-02 12:53:57 +01:00
Fabio Massimo Ercoli 427204910c Cache only immutable part of HqlInterpretation
So that it can be reused safely from different threads
2021-12-02 12:53:57 +01:00
Fabio Massimo Ercoli 8c369f1998 Test concurrent queries with multiple params 2021-12-02 12:53:57 +01:00
Andrea Boriero 8d9ce9cd0e Fix test failures for MySql, Derby and Sybase 2021-12-02 11:35:47 +01:00
Steve Ebersole 9137b9e79a HHH-14885 - New composite user-type
`@EmbeddableInstantiatorRegistration`
2021-12-01 20:47:14 -06:00
Steve Ebersole 61d178ef1b HHH-14885 - New composite user-type
`@EmbeddableInstantiatorRegistration`
2021-12-01 18:16:29 -06:00
Steve Ebersole 924c2b29c3 HHH-14885 - New composite user-type
Working support for `@EmbeddableInstantiator` on either the embedded site or on the embeddable class.
2021-12-01 17:35:43 -06:00
Steve Ebersole 8ab27a0ff0 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
- shared `#finishInitialization` handling for `VirtualIdEmbeddable` and `IdClassEmbeddable`
      note: was not yet able to get that working with `EmbeddableMappingType`
  - clean up ComponentType, esp wrt its use of ComponentTuplizer

Still need to
  - integrate embedded forms.  `VirtualIdEmbeddable` does not really need it as it can use the id-mapping itself as the embedded form.  But `IdClassEmbedded` should really be integrated
  - integrate `VirtualKeyEmbeddable` and `VirtualKeyEmbedded` for use as inverse composite fks
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
2021-12-01 13:48:51 -06:00