Commit Graph

834 Commits

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