Commit Graph

947 Commits

Author SHA1 Message Date
Christian Beikov 7aaeebe3af Switch back to bag by default for list semantics 2022-03-02 17:02:53 +01:00
Christian Beikov 8e6fb5636b Adapt EmbeddableInstantiator and CompositeUserType to accept a ValueAccess instead of a Supplier 2022-02-25 19:15:38 +01:00
Christian Beikov c520b48487 Implement support for CompositeUserType and re-enable tests that make use of it 2022-02-25 15:36:16 +01:00
Christian Beikov dc6ad33cfc HHH-10463 Implement function argument type inference 2022-02-15 09:04:50 +01:00
Christian Beikov 260c738a5a Get rid of some `getEntityMetamodel` uses 2022-02-15 09:03:55 +01:00
Christian Beikov f52cf04a16 Introduce QueryTransformer for functions 2022-02-09 18:31:14 +01:00
Gavin King a25758f519 don't write @SuppressWarnings({ "unchecked" }) 2022-02-05 20:03:50 +01:00
Jan Schatteman d2b740ce5b
Jrenaat 6.0 deprecation removals (#4718)
* Removed deprecated org.hibernate.boot.jaxb.internal.stax.LocalSchema

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove some deprecations from org.hibernate.engine.jdbc

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated misspelled method in PostActionEventListener

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated getSource() from AbstractPreDatabaseOperationEvent

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Privatize deprecated buildOptimizer method in OptimizerFactory

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove deprecated ServiceContributingIntegrator

Signed-off-by: Jan Schatteman <jschatte@redhat.com>

* Remove some more deprecated features

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-01-31 19:14:48 +01:00
Christian Beikov 0ad5796ffd Implement SQM copying for JPA Criteria API uses 2022-01-31 19:04:37 +01:00
Gavin King 09299e1f41 get rid of the last iterators in the mapping package 2022-01-26 22:53:44 +01:00
Steve Ebersole 7b00d3ce78 Migrate internal uses of `MetamodelImplementor` (deprecated) to instead use `MappingMetamodel` 2022-01-25 20:22:29 -06:00
Gavin King e51c210d78 squash lots of warnings in services
change the raw Map representation of config properties to Map<String,Object>
2022-01-25 21:04:50 +01:00
Gavin King 973c052c8c move since from @deprecated to @Deprecated 2022-01-24 21:55:31 +01:00
Jan Schatteman dc2e86d5c1 Remove several deprecations in org.hibernate.boot
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-01-24 08:42:33 -06:00
Gavin King 9724fb0d9b actually remove deprecated operations of SessionFactoryImplementor and SessionImplementor 2022-01-23 12:52:18 +01:00
Gavin King 3f073ae551 get rid of a class that was "being phased out"
and use some more correct generic types
2022-01-22 23:52:25 +01:00
Steve Ebersole 2b5a5fc196 api, spi, internal, deprecation
org.hibernate.query package
2022-01-21 13:27:11 -06:00
Steve Ebersole 6cbfb30ea4 api, spi, internal, deprecation 2022-01-20 11:29:57 -06:00
Christian Beikov 445cedfec7 Cleanup the naming of JavaDescriptor and JavaTypeDescriptor to align with the new naming JavaType 2022-01-20 16:01:02 +01:00
Christian Beikov 0fb19fd4fb Get rid of column names that are problematic on H2 2.0.202+ 2022-01-18 15:18:01 +01:00
Steve Ebersole 9fe3c861ca HHH-15023 - Move Query and NativeQuery back to org.hibernate.query 2022-01-14 14:49:17 -06:00
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