Commit Graph

926 Commits

Author SHA1 Message Date
Steve Ebersole fda6e96c5e HHH-15023 - Move Query and NativeQuery back to org.hibernate 2022-01-11 21:01:56 -06:00
Steve Ebersole 8f5fefd806 HHH-15017 - Clean-up Query#setParameter overloads
- https://hibernate.atlassian.net/browse/HHH-15017
2022-01-10 12:25:38 -06:00
Steve Ebersole b62c23ab29 HHH-15017 - Clean-up Query#setParameter overloads
- https://hibernate.atlassian.net/browse/HHH-15017
2022-01-10 12:25:38 -06:00
Steve Ebersole 448d678fb5 Drop `@CollectionClassificationType`;
Drop `@CollectionSemantics`;
Drop `@CollectionSemanticsRegistration(s)`;
Add `@CollectionTypeRegistration(s)`;
Rename `@CustomType` to `@Type`;
User Guide and Migration Guide changes
2022-01-06 21:46:48 -06:00
Gavin King cc91beb536 typecheck HQL function arguments 2022-01-06 18:10:00 +01:00
Steve Ebersole 773f3429c6 hibernate.mapping.default_list_semantics (`AvailableSettings#DEFAULT_LIST_SEMANTICS`)
make LIST the default classification for List attributes with no `@OrderColumn`, etc.
2022-01-06 08:53:00 -06:00
Steve Ebersole a71ba9e385 Initial work to re-organize the Collections chapter in the UserGuide;
Docs for @CollectionType, @CollectionClassificationType and @CollectionSemantics;
Some api/spi/internal work;
Migration Guide;
2022-01-05 16:26:58 -06:00
Andrea Boriero 67f73f20ef Remove few NotYetImplementedFor6Exception 2021-12-23 21:33:01 +01:00
Christian Beikov 1184a5963b Re-add AvailableSettings.JPA_METAMODEL_GENERATION and re-enable metamodel tests 2021-12-23 10:01:07 +01:00
Christian Beikov 360fec82f1 Reset connection pool after changing system TZ. Don't use distinct predicate when comparing primary keys in envers 2021-12-21 18:46:46 +01:00
Chris Cranford 99c13e5965 HHH-11595 Introduce `CollectionAuditTable` support 2021-12-18 22:53:42 -05:00
Chris Cranford d9fa35c6f1 HHH-13361 Cleanup test 2021-12-18 20:46:10 -05:00
Chris Cranford aa5bdab6ec HHH-13361 Refactor mappers 2021-12-18 20:46:10 -05:00
Chris Cranford b5755b6945 HHH-13361 Allow auditing entities with nested identifiers 2021-12-18 20:46:10 -05:00
Christian Beikov fb30206387 Add emulation for simple lateral joins and make use of lateral joins for min/max index/element paths if possible 2021-12-18 05:12:36 -06:00
Christian Beikov b75277b421 Split TableReference class into interface and NamedTableReference implementation to allow QueryPartTableReference and ValuesTableReference to fit into the picture 2021-12-18 05:12:36 -06:00
Chris Cranford 98c9cf136c HHH-14280 Fix test failures 2021-12-17 22:21:33 -05:00
Chris Cranford c249b019e6 HHH-14280 Reworked test 2021-12-17 22:21:33 -05:00
Rapenok, Ivan f4994a4cf6 HHH-14280 - audit query does not work when @IdClass composite identifier contains association to a not audited entity
Add possible solution
2021-12-17 22:21:33 -05:00
Rapenok, Ivan 0ea49974d0 HHH-14280 - audit query does not work when @IdClass composite identifier contains association to a not audited entity
Add test case
2021-12-17 22:21:33 -05:00
Chris Cranford 4e4f2e40b4 HHH-9432 Fix test failures 2021-12-17 18:43:20 -05:00
Chris Cranford 921a958e88 HHH-9432 Fix audit queries when `@Where` applied to discriminator mappings 2021-12-17 18:43:20 -05:00
Chris Cranford 9ace8a9dd3 HHH-13817 Support to-one relation traversals in RevisionsOfEntity queries 2021-12-17 18:31:10 -05:00
Chris Cranford 96e7d4cbb1 HHH-11573 Fix rebase issues 2021-12-17 18:30:09 -05:00
Chris Cranford d263466dc0 HHH-11573 Moved test class 2021-12-17 18:30:09 -05:00
Chris Cranford a408fa4597 HHH-11573 - Fix non-deterministic result ordering & test validation. 2021-12-17 18:30:09 -05:00
Chris Cranford 8d7562a314 HHH-11573 - Added todo wrt query context. 2021-12-17 18:30:09 -05:00
Chris Cranford 938b481cd9 HHH-11573 - Test case fixes. 2021-12-17 18:30:09 -05:00
Chris Cranford 6676a9c7bd HHH-11573 - Fix javadoc typo. 2021-12-17 18:30:09 -05:00
Felix Feisst 1eec41a136 HHH-11573 Query based on type expressions 2021-12-17 18:30:09 -05:00
Chris Cranford 9c8eabcd95 HHH-11896 Fix test failures on Oracle 2021-12-17 00:54:42 -05:00
Chris Cranford 2e8d16efca HHH-11896 Fix test to be deterministic 2021-12-17 00:54:42 -05:00
Felix Feisst 3e3d227c9a HHH-11896 Support 'on-clause' criterion when traversing audit query relations 2021-12-17 00:54:42 -05:00
Chris Cranford e07a8c3bd5 HHH-11895 Fix test to be deterministic 2021-12-17 00:53:19 -05:00
Felix Feisst d9f3e82291 HHH-11895 Support traversal of components in audit query API 2021-12-17 00:53:19 -05:00
Chris Cranford 25421733d6 HHH-14981 Support null precedence with Envers Query API 2021-12-16 19:53:21 -05:00
Chris Cranford 057b9bfc04 HHH-11452 Fix test failures 2021-12-16 01:12:39 -05:00
Felix Feisst e50037ec8c HHH-11452 Added possibility to apply the like operator on a function criterion. Added possibility to use the id of an entity as function argument. 2021-12-16 01:12:39 -05:00
Felix Feisst 640bd85975 HHH-11452 Extended audit query API to specify the use of scalar
functions.
2021-12-16 01:12:39 -05:00
Felix Feisst bb09222102 HHH-11735 Support traversal of to-many-associations in audit queries. 2021-12-16 01:10:08 -05:00
Chris Cranford b384b37f39 HHH-8051 Gracefully handle not-found to-one associations 2021-12-16 01:05:27 -05:00
Gavin King 1172943252 fix broken float type precision conversion
it is not the case that ln(10) = log_2(10)
2021-12-13 13:56:17 +01:00
Steve Ebersole 1e4f1fef44 HHH-14950 - Support mapping of embeddables with no setters w/ custom instantiator
HHH-14964 - EmbeddableInitializer are called multiple times

HHH-14950 works for the most part, but cannot be used "for real" because of HHH-14964
2021-12-10 13:40:06 -06:00
Steve Ebersole 7a6cef5838 Miscellaneous
- Finished DialectVersion
- User Guide tidying
- User Guide section on AttributeBinder
2021-12-09 00:51:40 -06:00
Gavin King 2a2bf17f8f redefine AttributeAccessor in terms of the new AttributeBinder API 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
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
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 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
Christian Beikov 47416b9e24 Fixup review comments 2021-12-02 13:17:53 +01:00
Steve Ebersole b23c2f48c1 Introduce `VirtualIdEmbeddable` and `IdClassEmbeddable` + instantiators
- Clean up Component Type, removing as many calls to its tuplizer as possible atm
- Clean up ManagedMappingType, EntityPersister, etc - mainly work around getting and setting value(s)

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
  - share `#finishInit` handling for `EmbeddableMappingType`, `VirtualIdEmbeddable` and `IdClassEmbeddable`
  - ability to use the containing composite owner as the parent of a composite (legacy behavior is to always use the "first" entity
  - clean up ComponentType, esp wrt its use of ComponentTuplizer
2021-12-01 11:33:03 -06:00
Andrea Boriero 1589686608 Fix envers test failure with Sybase 2021-11-29 12:38:59 +01:00
Chris Cranford 11f40dbf8b HHH-9228 HHH-9229 Shorten table names to try and fix CI failures 2021-11-28 16:57:21 -05:00
Chris Cranford dd8f1a31a7 HHH-9062 Fix failing tests 2021-11-27 05:49:47 -05:00
Chris Cranford 6c1db681fe HHH-13395 Fix sourcing of service registry 2021-11-27 05:22:35 -05:00
Chris Cranford 3575903139 HHH-13395 Use the new Integrator signature 2021-11-27 04:55:59 -05:00
Chris Cranford dbecdc41ac HHH-9062 Allow validity audit strategy to store revision end timestamps on joined subclass audit tables. 2021-11-27 04:41:52 -05:00
Chris Cranford 9124fd84b4 Fix HBM joined-subclass key order by sorting 2021-11-27 02:36:29 -05:00
Chris Cranford 26c3a1f32b HHH-12077 Support short-naming of audit strategies 2021-11-26 02:20:28 -05:00
Chris Cranford f379d51504 HHH-9228 HHH-9229 Fix audited/auditoverride for embeddables and mappedsuperclass 2021-11-26 02:20:28 -05:00
Chris Cranford 205f0ce9bf HHH-6210 Added config option to allow revend timestamp fields to be long data types 2021-11-26 02:20:28 -05:00
Chris Cranford 1abf044f2e HHH-10496 Allow RevisionTimestamp to be java.time.LocalDateTime 2021-11-26 02:20:28 -05:00
Chris Cranford 267a1cdb46 HHH-10912 Only run with default audit strategy 2021-11-26 02:20:28 -05:00
Chris Cranford 5ccaba123b HHH-10925 Allow ignoring tests based on strategy 2021-11-26 02:20:28 -05:00
Chris Cranford 85388ec48f HHH-11469 Remove deprecated ModificationStore 2021-11-26 02:20:28 -05:00
Chris Cranford e513453aa4 HHH-11483 Build Envers model using JAXB 2021-11-26 02:20:23 -05:00
Andrea Boriero 088baa6e86 Fix compilation errors after merge 2021-11-16 17:35:44 +01:00
Andrea Boriero 8c5adc86d0 Merge remote-tracking branch 'upstream/main' into wip/6.0_merge_main_1 2021-11-16 17:23:06 +01:00
Chris Cranford e155fc551e HHH-14540 Don't share session-scoped interceptors with temp session 2021-11-16 15:27:51 +00:00
Jan Schatteman db12d5a17a Remove deprecated JPA_METAMODEL_GENERATION and JPA_METAMODEL_POPULATION from AvailableSettings
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-12 14:57:52 +01:00
Christian Beikov 38d1c122eb Various fixes and move tests from test.jpa
* Implement parameter list expansion for native queries
* Fix empty subselect fetched collection initialization
* Implement support for nested table group joins to allow joins on the map-key
* Replace `getTableReference` with `resolveTableReference` where appropriate to distinguish which calls can cause table reference joins to be created
* Fix some table reference resolving issues with inverse embeddable model parts
* Use a Fetch for entity ids instead of a DomainResult
* Fix bidirectional fetching for collection initializtion
* Implement table reference join pruning for treat usages
* Implement strict JPA compliance for different parameter styles
* Ensure From nodes in Criteria are unique
* Add unique key support to DelayedEntityFetch
* Check if FetchParent is enhanced for lazy loading for DelayedEntityFetch
* Register entity instances under all possible EntityUniqueKey
* Introduce EntityJavaTypeDescriptor that implements equality based on object identity
2021-11-11 15:49:30 +01:00
Christian Beikov 1456a2dd7f Render implicit joins as nested table group joins instead of sub queries 2021-10-25 09:15:25 +02:00
Christian Beikov a4e406a54e * Add SqlTypes as analogy to java.sql.Types containing constants for Hibernate specified types
* Add FormatMapper for a pluggable JSON serialization and deserialization strategy
* Add native UUID type support for H2, Cockroach, PostgreSQL
* Add native INET type support for Cockroach, PostgreSQL
* Add native JSON type support for MySQL, Cockroach, PostgreSQL
* Add native INTERVAL SECOND type support for H2, Cockroach, PostgreSQL
* Add fallback JdbcTypes for new SqlTypes
* Register column types for new SqlTypes
* Add support for BasicTypeReference in TypedParameterValue
* Fix a lot of method signatures with respect to type parameter issues
* Fix CustomType, UserType and EnhancedUserType with respect to type parameters
* Get rid of StringRepresentableType and some other unused deprecated methods
2021-10-19 16:33:36 +02:00
Christian Beikov 541302a511 Get rid of most basic type subclasses 2021-10-19 16:33:36 +02:00
Andrea Boriero 6b5cb2cfc4 Merge remote-tracking branch 'upstream/main' into wip/6.0 2021-10-12 11:49:54 +02:00
Steve Ebersole 48068e0311 HHH-14857 Deprecations in preparation for 6 2021-10-11 19:36:23 +01:00
Steve Ebersole 686d8fcbf1 HHH-14870 - Rename {Xyz}TypeDescriptor as {Xyz}Type
* `JavaTypeDescriptor` -> `JavaType`
* `JdbcTypeDescriptor` -> `JdbcType`
2021-10-11 13:13:13 -05:00
Steve Ebersole 3a0065eea4 HHH-14870 - Rename {Xyz}TypeDescriptor as {Xyz}Type
* `JavaTypeDescriptor` -> `JavaType`
* `JdbcTypeDescriptor` -> `JdbcType`
2021-10-11 13:11:32 -05:00
Steve Ebersole 9ad34c21d4 HHH-14856 - Introduce @CustomType;
HHH-14863 - Compositional definition of basic value mappings;
HHH-14864 - Drop legacy Type-based annotations;
HHH-14865 - Re-work @Any and @ManyToAny support;

* re-use BeanInstanceProducer
* Removed `@CollectionId#type`
* Change `@Any` / `@ManyToAny`
* Removed `@MapKeyType`
* Removed `@TypeDef`
* Removed `@TypeDefs`
* Removed `@Type`
* Removed `@AnyMetaDefs`
* Removed `@AnyMetaDef`
* Removed `@MetaValue`
2021-10-07 10:01:21 -05:00
Christian Beikov 710ebe57b0 Get rid of using specialized BasicType implementations and references to those and instead use a BasicTypeReference that is lazily resolved 2021-10-07 08:15:53 +02:00
Christian Beikov d8b984ed7f Fix some column type definitions in dialects regarding their maximum capacities. Allow the dialect to resolve the length based on type code, type name, precision, scale and display size. Fix some dialect related issues with tests. Fix untyped null parameter binding issues 2021-09-30 13:52:31 +02:00
Steve Ebersole 986d65a288 HHH-14837 - Move to Jakarta EE
More settings work
2021-09-28 19:01:28 -05:00
Steve Ebersole 089a3f86ae HHH-14837 - Move to Jakarta EE
preliminary transformation;
only `javax.persistence.*` settings supported atm
2021-09-27 08:21:27 -05:00
Christian Beikov 0af8755949 Backport of changes from 6314395edf on
wip/6.0 (Fix connection leaks by properly closing service registries)
2021-09-13 17:32:18 +02:00
Christian Beikov 6314395edf Fix connection leaks by properly closing service registries 2021-09-09 16:39:31 +02:00
Christian Beikov dd6efa509b Introduce internal init_sql config and by default enable ansinull for Sybase ASE 2021-09-02 16:54:46 +02:00
Christian Beikov ec2b1c6756 Fix test for oracle 2021-09-02 16:54:46 +02:00
Christian Beikov ea099e7e85 Fix some query caching issue related to pagination parameters and a small case sensitivity issue 2021-09-02 16:54:46 +02:00
Christian Beikov c9a526999a Ignore some tests that run into HSQLDB bugs 2021-09-02 16:54:46 +02:00
Christian Beikov 65016aaf42 Implement envers order fragment support by introducing an internal sqm function and re-enable all envers tests 2021-09-02 16:54:46 +02:00
Christian Beikov 04ac8b13c3 Fix some envers tests 2021-09-02 16:54:46 +02:00
Christian Beikov 062c3cd724 Make use of distinct predicate in envers 2021-09-02 16:54:46 +02:00
Andrea Boriero a9725f4fca Re-enabled additional envers tests 2021-08-31 16:17:24 +02:00
Steve Ebersole 6f60cd8918 improve discriminator handling
- use fetch/result as the distinction for whether to select Class / entity-name or the "underlying type" value for discriminator.  The only time we'd have a DomainResult for the discriminator is for Query where the type is selected; all other times want the underlying type
2021-08-30 13:32:52 -05:00
Andrea Boriero cdeb95a4d5 Merge remote-tracking branch 'upstream/main' into wip/6.0 2021-08-30 14:07:19 +02:00
Sanne Grinovero 9267c5e6a6 HHH-14792 Remove support for bytecode enhancement via Javassist 2021-08-26 15:22:30 +01:00
Andrea Boriero 2622ce70d2 Re-enabled envers tests 2021-08-24 11:43:00 +02:00
Andrea Boriero 397ca4e4a0 Re-enabled envers tests 2021-08-23 19:05:25 +02:00
Andrea Boriero f507c3a00e Re-enabled envers tests 2021-08-23 17:40:43 +02:00