Commit Graph

586 Commits

Author SHA1 Message Date
Steve Ebersole a742f5e988 HHH-16069 - Skip CDI for Hibernate extensions by default 2023-01-26 00:29:24 -06:00
Steve Ebersole a552a73632 HHH-16006 - Implement an "additional mapping" contributor SPI 2023-01-19 16:30:46 -06:00
Steve Ebersole a9ef9045f2 HHH-16006 - Implement an "additional mapping" contributor SPI 2023-01-09 15:41:56 -06:00
Gavin e8f899ffbc avoid the use of TypeConfiguration.getSessionFactory() which is not very typesafe
continue sorting out issues with lifecycle of SessionFactoryImpl and friends
2023-01-03 21:06:49 +01:00
Gavin 11760d3ce3 various jdoc format fixes + improve a package-info
- add some periods
- fix up all the code snippets I messed up
- add some <p>s after lists and code blocks
- improve section of package-info which was hard to understand
- fix jdoc for LobHelper
- fix code example in @ValueGenerationType
2022-12-27 12:00:02 +01:00
Christian Beikov 4901d2bb61 HHH-15464 Allow JdbcType to expose the type code to use for DDL 2022-12-22 17:25:13 +01:00
Steve Ebersole 32cc739f39 HHH-15923 - Clean-up the org.hibernate.loader package
HHH-15799 - API/internal split for org.hibernate.cfg package

and some minor Javadoc work
2022-12-21 16:11:48 -06:00
Christian Beikov ba985518c7 HHH-15898 Add @Instantiator annotation to mark canonical constructor for embeddables 2022-12-21 12:43:15 +01:00
Steve Ebersole 48c383121f HHH-15837 - Cleanup the tuple package 2022-12-14 09:25:59 -06:00
Steve Ebersole 33c00d78c3 HHH-15818 - Drop PropertyMapping in favor of new mapping-model 2022-12-14 09:25:59 -06:00
Gavin 0228c3d185 HHH-15800 introduce EventType + EventTypeSets in place of the previous "two booleans" approach
I hope @sebersole likes this better.

re-deprecate GenerationTime since the way forward is EventType
2022-12-05 22:21:52 +01:00
Gavin 075b268280 HHH-15800 create .generator and .binder packages and move new interfaces to them 2022-12-05 22:21:52 +01:00
Gavin 216fe0f615 HHH-15800 make Generator free of GenerationTiming 2022-12-05 22:21:52 +01:00
Gavin 12682c0abd slightly sanitize API of mapping package 2022-12-03 11:04:21 +01:00
Sanne Grinovero 33ce6a3d79 HHH-15790 Refactor casting strategies for HibernateProxy across the codebase 2022-12-01 21:31:55 +00:00
Sanne Grinovero fbf469830c HHH-15790 Make HibernateProxy also type-cache friendly 2022-12-01 21:31:55 +00:00
Gavin a67cfd039e HHH-15789 unify IdentifierGenerator with value generator stuff 2022-12-01 00:02:18 +01:00
Gavin 1bd082bd3e much better naming 2022-12-01 00:02:18 +01:00
Gavin 3e6fcdeda3 unify new ValueGenerationStrategy interfaces with existing ValueGeneration stuff
- introduce ValueGenerationStrategy to abstract over IMVGS and IDVGS
- make ValueGeneration a mixin of IMVGS with IDVGS
- make IDVGS accept a Dialect for SQL fragment generation
  (it was based on an obsolete version of ValueGeneration)
- adapt all the code which only handled single-column value generation
  to handle multiple columns, as introduced by IDVGS

Still to do: the whole AnnotationValueGeneration stuff still requires the use
of the mixin interface, and you can't use IMVGS or IDVGS directly. That bit is
going to require a bit more thinking about backward compatibility.
2022-11-29 21:03:58 +01:00
Marco Belladelli 9c0b30f99d HHH-15760 various small html fixes javadoc 2022-11-26 09:49:56 +01:00
Marco Belladelli f38dd28043 HHH-15760 mass replace self-closing tags in javadoc 2022-11-26 09:49:56 +01:00
Christian Beikov d6bfe1cacf HHH-15700 Allow specifying NOCACHE for Envers revision info sequence 2022-11-18 11:06:39 +01:00
Gavin King 61c128000b HHH-15672 introduce Generated(UPDATE) for properties only generated on update 2022-11-08 12:36:38 +01:00
Gavin King 6e8d609485 squash warnings + remove usages of some deprecated methods 2022-10-29 23:32:05 +02:00
Jan Schatteman 89a98f2dc7 HHH-15489 - Remove support for Oracle versions older than 11.2
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-09-21 17:52:03 +02:00
Fabricio Gregorio 4ac2054784 HHH-15522 Implement a LazyInitializable interface that PersistentCollection and Envers collections extend or implement. Improve related tests. 2022-09-20 18:39:32 +02:00
Andrea Boriero c84b36e3e9 HHH-15414 For Oracle Dialect from version 8 Envers should not generate new revision when database replaces empty string with NULL during INSERT or UPDATE statements 2022-07-21 22:00:14 +02:00
Andrea Boriero 4b0446427c HHH-15413 For Oracle Dialect from version 8 Envers should use an ordered sequence 2022-07-21 22:00:14 +02:00
Sanne Grinovero 697cfea170 HHH-15411 Introduce an system property to fully disable Hibernate's use of a system SecurityManager 2022-07-21 12:39:39 +01:00
Steve Ebersole d276075ade HHH-15132 - Improvements for NavigablePath
Package move;
@Incubating
2022-03-21 02:53:56 -05:00
Christian Beikov 94f450aa7a HHH-15131 Fix JPA Compliance issue with Envers 2022-03-17 17:33:56 +01:00
Steve Ebersole 741b6b71f1 logging report 2022-03-11 14:45:43 -06:00
Jan Schatteman 8b0f70f066 Removed deprecated MetadataBuildingOptions.getReflectionManager()
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-03-08 18:42:18 -06:00
Christian Beikov bdf8b2fc2e Fully generify and simplify UserType contract 2022-03-04 11:14:17 +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
Steve Ebersole 2b5a5fc196 api, spi, internal, deprecation
org.hibernate.query package
2022-01-21 13:27:11 -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
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
Gavin King cc91beb536 typecheck HQL function arguments 2022-01-06 18:10:00 +01:00
Andrea Boriero 67f73f20ef Remove few NotYetImplementedFor6Exception 2021-12-23 21:33:01 +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 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
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
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 8d7562a314 HHH-11573 - Added todo wrt query context. 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
Felix Feisst 3e3d227c9a HHH-11896 Support 'on-clause' criterion when traversing audit query relations 2021-12-17 00:54:42 -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
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
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
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
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
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 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 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 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
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
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
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 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 062c3cd724 Make use of distinct predicate in envers 2021-09-02 16:54:46 +02: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