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 6314395edf05117f374a8de5e5e506840a337ebb 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