Commit Graph

885 Commits

Author SHA1 Message Date
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
Andrea Boriero 83fba3064f Re-enabled envers tests 2021-08-23 16:23:38 +02:00
Andrea Boriero 8121b5daa3 Re-enabled envers tests 2021-08-23 16:23:38 +02:00
Andrea Boriero 6f052f035e Re-enabled envers tests 2021-08-23 16:23:38 +02:00
boris-unckel e1b82b005c HHH-14762 Testsuite: Assert.notNull must not be used on primitive types
Fix https://hibernate.atlassian.net/browse/HHH-14762
2021-08-10 14:08:34 +02:00
Gavin King 526b3659c8 more correct test code 2021-07-28 15:22:41 +02:00
Gavin King 07096e7cc1 introduce JDBCTypeDescriptor.getDefaultSqlTypeCode()
and rename sqlType -> jdbcTypeCode in Type hierarchy for consistency

See https://github.com/hibernate/hibernate-orm/discussions/4088
2021-07-28 15:22:41 +02:00
Steve Ebersole d16073f7ce remove dependency on hibernate-core tests from hibernate-envers 2021-07-27 19:38:44 -05:00
Andrea Boriero 98e64579fa Merge branch 'main' into wip/6.0 2021-07-16 11:24:53 +02:00
Andrea Boriero 8b02aaf5a8 HHH-14608 Merge causes StackOverflow when JPA proxy compliance is enabled 2021-07-15 21:01:09 -07:00
Steve Ebersole b26b00a358 Bump matrix testing plugin to 3.1.0 (prep for Gradle 7) 2021-07-14 11:44:35 -05:00
Christian Beikov 6447ca9b26 HHH-14693, HHH-10668 Move non-supported dialects to the hibernate-community-dialects artifact and add the SQLite dialect originally contributed by Vlad Mihalcea which was adapted for Hibernate 6. Also add HSQLDB, MySQL and Sybase ASE configurations and a CI job config 2021-07-06 10:14:20 +02:00
Andrea Boriero 6ca0be6d99 Merge remote-tracking branch 'upstream/main' into wip/6.0 2021-06-22 09:09:30 +02:00
Christian Beikov 107849c3c8 Fix jakarta sources transformation issues 2021-06-16 08:37:14 +02:00
Andrea Boriero 451568f322 Merge remote-tracking branch 'upstream/main' into wip/6.0_merge_7 2021-05-31 14:55:18 +02:00
Yoann Rodière 07eca3883d HHH-14635 Upgrade to log4j 2 2021-05-26 09:05:56 +02:00
Andrea Boriero ffae5474a6 Merge remote-tracking branch 'upstream/main' into wip/6.0_merge_6 2021-05-24 20:41:03 +02:00
Steve Ebersole c7e37dc1d7 HHH-14513 : Move publishing release and snapshot artifacts to Sonatype OSSRH 2021-05-14 15:06:15 -05:00
Steve Ebersole 71515af5cc HHH-14589 - Make sure documentation examples regarding basic-types work and update the section
- re-enable the basic-type tests in the `documentation` module
- fix basic-type resolution in various cases from tests in both `hibernate-core` and `documentation`
- updated the basic_types.adoc user-guide section + moved much of the "legacy" discussion to an appendix
- fixed missing impls of the optional contract `org.hibernate.type.AdjustableBasicType`
- improved handling of `NationalizationSupport` offered by a Dialect

NOTE :
- changes to `ColumnTransformerTest` are related to "composite basics" not being supported, not problems with `ColumnTransformer`.
- final failure in `org.hibernate.userguide.mapping.basic` is `SubselectTest#testRefreshLifecycle` which actually fails because refresh is not working properly
2021-05-13 09:58:20 -05:00
Christian Beikov ff9e9eebc9 HHH-13946 Create Jakarta artifacts for hibernate-core, hibernate-envers, hibernate-jpamodelgen and hibernate-testing 2021-04-30 11:41:05 +02:00
Andrea Boriero c48606a5aa Merge remote-tracking branch 'upstream/main' into wip/6.0_merge_1 2021-04-20 09:45:47 +02:00
Yoann Rodière 4264bc55ac HHH-14563 Remove the DOM4J dependency from hibernate-core 2021-04-19 15:39:35 +02:00
Yoann Rodière b076216e84 HHH-14563 Remove XmlMappingOptions
We don't need that anymore: XML mapping is either enabled or disabled,
there are no other options. So a boolean will do.
2021-04-19 15:39:35 +02:00
Andrea Boriero badc99705a Merge remote-tracking branch 'upstream/main' into wip/6.0_merge 2021-04-16 13:19:16 +02:00
Yoann Rodière 8ab3a2f7e9 HHH-14529 Configuration and wiring to prefer JAXB over DOM4J for orm.xml handling 2021-04-15 14:01:28 +02:00
Andrea Boriero 9c27e41184 Remove o.h.testing.junit5 package 2021-04-10 12:32:18 +02:00
Andrea Boriero b176814b44 Re-enable envers test 2021-04-08 18:04:35 +02:00
Steve Ebersole 7fcde66d61 HHH-14524 : Rename SqlType(X) as JdbcType(X) 2021-03-29 11:33:56 -05:00
Gavin King 3c72f6fe12 cleanup lots of warnings, especially generics-related 2021-03-26 18:45:18 +01:00
Gavin King bbf4619fcd remove deprecated Sort annotation 2021-03-25 18:54:41 +01:00
Gavin King c89319f3e9 remove AccessType annotation 2021-03-25 18:54:41 +01:00
Gavin King 4b56842c7f make @AttributeAccessor annotation typesafe 2021-03-25 18:32:21 +01:00
Andrea Boriero c3df793dbe HHH-14509 : Git master -> main branch renaming 2021-03-22 12:38:00 +01:00
Andrea Boriero 96d103215c Merge remote-tracking branch 'upstream/main' into wip/6.0 2021-03-22 12:26:31 +01:00
Steve Ebersole 725faa258f HHH-14509 : Git master -> main branch renaming 2021-03-19 10:59:03 -05:00
Chris Cranford 5dfbaf58ef Lookup RevisionTypeType rather than re-create CustomType instances 2021-03-12 08:32:07 +01:00
Chris Cranford 2cf8131f6e Fix JdbcParameterBinding with RevisionType enum 2021-03-12 08:32:07 +01:00
Andrea Boriero cb603a337b Removed use of EntityPersister#getEntityTuplizer() 2021-03-04 17:29:26 +01:00
Steve Ebersole ddf434df7e HHH-14469 - Support schema-tooling on sub-sets of the relational model known to Hibernate
- @BootstrapServiceRegistry
- Support for filtering at schema-tooling level
2021-03-04 09:42:45 -06:00
Gavin King 7b7597f40e modernize Interceptor + Lifecycle interfaces 2021-03-04 15:24:02 +01:00
Gavin King b3aa7d0794 remove Serializable id from the Tuplizer stuff 2021-03-04 15:24:02 +01:00
Christian Beikov 4931c7e69f Merge remote-tracking branch 'upstream/master' into wip/6.0 2021-02-10 12:00:37 +01:00