Commit Graph

6040 Commits

Author SHA1 Message Date
Andrea Boriero 3ea0484122 HHH-4808 SessionImpl.initializeCollection() does not release JDBC connection (if outside of a transaction) 2021-06-22 11:40:33 +01:00
Andrea Boriero 179c1d1da0 HHH-4808 Add test for issue 2021-06-22 11:40:33 +01:00
Christian Beikov 8f4450c433 HHH-14597 Test and fix for NPE while trying to delete cascade to-one association within element collection 2021-06-22 11:31:39 +01:00
Andrea Boriero bdc08af163 HHH-11817 Add test for issue 2021-06-21 08:44:46 +02:00
Andrea Boriero 8fc45a9004 HHH-11817 Allow schema-export commands written to file to truncate in addition to current appending 2021-06-21 08:44:46 +02:00
Christian Beikov 107849c3c8 Fix jakarta sources transformation issues 2021-06-16 08:37:14 +02:00
Steve Ebersole f91fe03352 HHH-14679 - Deprecate ResultSetWrapper and friends 2021-06-14 16:25:00 +01:00
Sanne Grinovero e2f24c5436 HHH-14667 Maintain backwards compatibility for Hibernate Reactive 2021-06-14 16:23:45 +01:00
Sanne Grinovero ee55768587 HHH-14667 SequenceFilterTest only needs to be run on H2 2021-06-11 11:55:46 +01:00
Sanne Grinovero 5b2289e883 HHH-14667 Avoid triggering the load of sequence metadata when not required
Also introduce SequenceMismatchStrategy#NONE, which allows to fully disable the checks
performed by SequenceMismatchStrategy on initialization; combining these two
changes, users have the option to fully skip loading the details about existing
sequences from the DB.
2021-06-11 11:55:46 +01:00
Sanne Grinovero ab8c81482c HHH-14667 Remove also ExtractedDatabaseMetaData#getExtraKeywords() as it's unused as well 2021-06-11 11:55:46 +01:00
Sanne Grinovero 8f765eeff8 HHH-14667 Remove also unused: ExtractedDatabaseMetaData#getTypeInfoSet() and doesLobLocatorUpdateCopy() 2021-06-11 11:55:46 +01:00
Sanne Grinovero c10493435e HHH-14667 Skip loading all keywords from the DB when keyword auto-quoting is disabled 2021-06-11 11:55:46 +01:00
Sanne Grinovero fd35857284 HHH-14667 Remove some dead code 2021-06-11 11:55:46 +01:00
Sanne Grinovero f8da005f3a HHH-14667 Remove extraction of TypeInfo from the Database JDBC metadata as it's unused 2021-06-11 11:55:46 +01:00
Andrea Boriero 8002b188bb HHH-14649 Oracle limit handler create wrong sql query when multiple spaces are present in the query 2021-06-10 23:31:26 +01:00
Andrea Boriero bbc2ecb484 HHH-14649 Add test for issue 2021-06-10 23:31:26 +01:00
Christian Beikov d60dc9255d HHH-14660 Deprecate component mappings with different attributes for the same class 2021-06-10 12:48:21 +02:00
Yoann Rodière 916bcbdef0 HHH-14659 Fix "join fetch" on mapped-by association being ignored when using bytecode enhancement 2021-06-09 17:02:39 +02:00
Yoann Rodière 50b8ad1f2b HHH-14659 Test query "join fetch" on lazy to-one associations with bytecode enhancement 2021-06-09 17:02:39 +02:00
Yoann Rodière 0eb187fae4 HHH-14659 Test join fetch correctly in HHH3949Test 2021-06-09 17:02:39 +02:00
Christian Beikov 66ae1c9557 HHH-14665 Fix schema generation test missing the default semi-colon in comments 2021-06-08 23:05:51 +02:00
Christian Beikov 10cba26bda HHH-14665 Use semi-colon as the default statement delimiter for scripts 2021-06-08 20:49:39 +02:00
Sanne Grinovero 40ed10e9fa HHH-14662 Remove unnecessary statuful lambda instances from StatisticsImpl 2021-06-08 15:55:09 +01:00
Christian Beikov 3443541f6c HHH-14655 Upper case the information schema sequence identifier again to fix issues with case sensitive databases 2021-06-07 16:39:36 +02:00
Sanne Grinovero 5579a38d4d HHH-14650 AbstractRowReader: remove more redundant checks 2021-06-03 13:58:18 +01:00
Sanne Grinovero 84e7c5f63b HHH-14650 AbstractRowReader: remove unnecessary nullchecks 2021-06-03 13:58:15 +01:00
Sanne Grinovero fb69172a4b HHH-14650 AbstractRowReader: no need to pre-compute the entityInitializerByEntityReference cache in advance 2021-06-03 13:58:11 +01:00
Sanne Grinovero c22393d57b HHH-14650 Optimise AbstractRowReader for iterations on entity initializers 2021-06-03 13:58:05 +01:00
Sanne Grinovero df48d19bbc HHH-14647 Make ResourceRegistryStandardImpl#unassociatedResultSets lazily initialized 2021-06-03 10:07:45 +01:00
Andrea Boriero 422b80b80d HHH-14624 Oracle from version 12 started supporting the syntax for pagination 2021-06-01 15:19:44 +01:00
Andrea Boriero 2952b60cc3 HHH-14624 add test 2021-06-01 15:19:44 +01:00
Gavin King fa261190ec HHH-14240 Stop generating fragments of uppercase SQL
Hibernate generates lowercase SQL.

(Note that I already fixed all this in H6, but not in H5.)
2021-06-01 15:16:10 +01:00
Yoann Rodière 07eca3883d HHH-14635 Upgrade to log4j 2 2021-05-26 09:05:56 +02:00
Vlad Mihalcea cea044ec69 HHH-14632 - Call statistics.queryPlanCacheHit and statistics.queryPlanCacheMiss for FilterQueryPlan and NativeSQLQueryPlan 2021-05-25 07:41:07 +02:00
Christoph Dreis fc3accfbd1 HHH-14574 Avoid NPEs from LoadContexts.cleanup(ResultSet) 2021-05-24 12:08:05 +02:00
Andrea Boriero 26e858c78b HHH-14616 Change VERSION_COLUMN_ALIAS from v to version_ 2021-05-24 10:46:29 +01:00
Gail Badner 6bb1900495 HHH-14616 : Add test case with default hibernate.globally_quoted_identifiers (=false) and version column quoted 2021-05-24 10:46:29 +01:00
Andrea Boriero e76a60cbfc HHH-14616 Oprimistic Lock throws org.hibernate.exception.SQLGrammarException: could not retrieve version 2021-05-24 10:46:29 +01:00
Andrea Boriero 75bcb6bc0c HHH-14616 Add test for issue 2021-05-24 10:46:29 +01:00
Christian Beikov a57c0e34ff HHH-14618 Allow passing multiple script source files separated by comma 2021-05-24 11:42:36 +02:00
Christian Beikov bf19f98c2d HHH-14619 Test and fix ClassCastException because collection of uninitialized proxy is dirty checked 2021-05-21 09:15:36 +02:00
gavin 6dc3b4a726 make logFlushResults() protected for the benefit of HR 2021-05-20 15:07:34 +01:00
Sanne Grinovero e6688f8ebc HHH-14622 Improved iteration of PreLoadEventListener 2021-05-20 14:24:50 +01:00
Yoann Rodière ccc5eb1305 HHH-14620 Remove duplicate assertions in LazyCollectionLoadingTest 2021-05-20 11:53:57 +02:00
Yoann Rodière 12cb577f9f HHH-14620 Test incorrect initialization of a collection with extended bytecode enhancement 2021-05-20 11:53:57 +02:00
Yoann Rodière b9270e44b1 HHH-14620 Do not initialize collections just to take a snapshot of their size
As far as I can tell this is safe enough for dirty tracking:

* The collection tracker will return a size of -1 for that collection
* Which is exactly the behavior we currently get after
  $$_hibernane_clearDirtyCollectionNames is called if a collection has
  been "retrieved" (getter called) but was not initialized.
* This will mainly prevent some optimizations because we will no longer
  be able to tell whether a collection is "dirty" or not.

I think we should be able to restore those optimizations: for
PersistentCollection instances, we would store the "initial" size
inside the collection itself upon initialization,
and we would compare THAT size to the current size in implementations
of $$_hibernate_areCollectionFieldsDirty (see
org.hibernate.bytecode.enhance.internal.bytebuddy.CodeTemplates).

Alternatively we could store the CollectionTracker inside the
PersistentCollection so that the collection can update the tracker
upon initialization.

However, that's outside the scope of this bug, that would require
significant testing, and that may cause conflicts with ORM 6, so I won't
do it here.
2021-05-20 11:53:57 +02:00
Sanne Grinovero eb6c68cdc6 HHH-14621 Introduce new methods on EventListenerGroup which allow Hibernate Reactive to fire events more efficiently 2021-05-19 20:58:43 +01:00
Andrea Boriero b30a68f5be HHH-14596 WhereAnnotatedOneToManySizeTest fails on HANA database 2021-05-13 09:49:14 +02:00
Andrea Boriero f7ab5f315d HHH-14541 Only mark the session factory as closed *after* SessionFactoryObserver#sessionFactoryClosing was called 2021-05-12 17:27:14 +02:00
Yoann Rodière eb4e397a04 HHH-14541 Only mark the session factory as closed *after* SessionFactoryObserver#sessionFactoryClosing was called 2021-05-12 16:25:02 +02:00
Yoann Rodière 7f152c36f7 HHH-14541 Test that the session factory is still open in SessionFactoryObserver#sessionFactoryClosing 2021-05-12 16:25:02 +02:00
Fabio Massimo Ercoli d0febfd042 HHH-14585 Test more size() cases
In particular projections using a size function
2021-05-11 18:33:02 +02:00
Fabio Massimo Ercoli a106ce29dc HHH-14585 Handle filter fragment on CollectionSizeNode 2021-05-11 18:33:02 +02:00
Fabio Massimo Ercoli 15d9eb4112 HHH-14585 Skip test for some dialects 2021-05-11 18:33:02 +02:00
mrizzi 51529f5f20 HHH-14585 size() HQL function discards '@Where' clause 2021-05-11 18:33:02 +02:00
Yoann Rodière 72f4a2f610 HHH-12445 Remove unused constants related to "null"/"not-null" discriminator values 2021-05-04 09:18:55 +02:00
Yoann Rodière 662f86abe1 HHH-12445 Test "null"/"not-null" discriminator values 2021-05-04 09:18:55 +02:00
Yoann Rodière 1a2510df16 HHH-12445 Fix ORM not detecting "null"/"not null" discriminator values correctly for joined inheritance 2021-05-04 09:18:55 +02:00
Yoann Rodière 7144af5990 HHH-12445 Auto-detect when discriminator columns are nullable 2021-05-04 09:18:55 +02:00
Emmanuel Duchastenier 41c71bfed7 HHH-13779 (5.4) - Foreign key schema migrator should be case-insensitive
This avoids re-creating existing foreign keys with a different name,
after migrating from Hibernate 4 to Hibernate 5 (as implicit naming
convention has changed).
Actually, some RDBMS allow it (PostgreSQL, MySQL, MS SQL Server, ...)
and duplicate the same key, whereas others (Oracle, ...) do not
allow it and Schema update fails.

This fix ignores the case of the table and column name when checking
if a equivalent Foreign Key already exists (whatever its name)

Closes https://hibernate.atlassian.net/browse/HHH-13779

(cherry picked from commit 0b819863f2)
2021-04-30 12:48:05 -05:00
Andrea Boriero 8dabefd111 HHH-14573 Remove useless call to EnhancementAsProxyLazinessInterceptor#isInitialized() 2021-04-30 13:11:01 +02: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
Christian Beikov eb8b8620d7 HHH-14274 Support for jakarta prefixed String properties for integrations 2021-04-30 11:41:05 +02:00
Christian Beikov 14b35bb3b6 HHH-14273 Support for jakarta.persistence prefixed String properties 2021-04-30 11:41:05 +02:00
Christian Beikov c096b463ee Emulate null ordering for CockroachDB 2021-04-29 13:43:52 +02:00
Sanne Grinovero 0a4cd8e800 HHH-14575 Adapt BasicProxyFactoryImpl to be more native-image friendly 2021-04-28 10:31:27 +01:00
Yoann Rodière 1023ee02b9 HHH-14571 Always report identifiers as initialized when using enhanced proxies 2021-04-22 17:25:18 +02:00
Yoann Rodière 6bc8421972 HHH-14571 Test that the identifier is always reported as initialized by Hibernate.isPropertyInitialized when using enhanced proxies 2021-04-22 17:25:18 +02:00
Christian Beikov 12f1c7917e HHH-14475 Don't render subquery for collection functions 2021-04-22 12:19:45 +02:00
Burkhard Graves 96980606fd HHH-14475 - select indices from ternary relation is broken since 5.4.13 (at least in mariadb) 2021-04-22 12:19:45 +02:00
Gavin King 179327cd40 [HHH-14031] on H2 1.4.200 and above use localtime/localtimestamp
As suggested by @famod we need to use localtime instead
or current_time because of changes in H2.

In particular the JDBC driver now refuses to convert
TIME/TIMESTAMP WITH TIME ZONE to plain TIME/TIMESTAMP.
2021-04-22 12:18:36 +02:00
Yoann Rodière 8389b1a7a2 HHH-14567 Do not reuse query plans after session filters changed 2021-04-19 17:58:57 +02:00
Yoann Rodière 3bac846de2 HHH-14567 Test enabling filters after query creation but before query execution 2021-04-19 17:58:57 +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 87a3e0a5d8 HHH-14563 Remove a few obsolete references to DOM4J entity-mode
This mode was removed literally a decade ago.
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
Yoann Rodière 6f5f6b32c3 HHH-14563 Remove DOM4J-based XML mapping
Use JAXB-based XML mapping everywhere.
2021-04-19 15:39:35 +02:00
Yoann Rodière 194e53a0fb HHH-14563 Remove legacy tests for DOM4J-based XML mapping 2021-04-19 15:39:35 +02:00
Yoann Rodière 4f7bb75ec7 HHH-14529 Fix access type being ignored when defined at the entity level in orm.xml
That's a bug I introduced when I migrated code from dom4j to jaxb.
2021-04-19 15:39:35 +02:00
Yoann Rodière 5b830f3f5e HHH-14529 Fix invalid order of elements in orm.xml files used for tests
Surprisingly, the XSD does mandate a specific order for some elements,
including "entity", "embeddable" and the children of "attributes".

It turns out we were allowing a wrong order with the dom4j
implementation, but we no longer do with the jaxb implementation.
2021-04-19 15:39:35 +02:00
Yoann Rodière 6723ed4626 HHH-14529 Fix incorrect attribute name for @NamedEntityGraph in JPAXMLOverriddenAnnotationReader 2021-04-19 15:39:35 +02:00
Andrea Boriero 6f75d96a99 HHH-14549 Collection with default field initializer will always be empty 2021-04-19 14:14:48 +02:00
Andrea Boriero 7620e0e395 HHH-14549 Add test for issue 2021-04-19 14:14:48 +02:00
Yoann Rodière ac4f4ff4ad HHH-14529 Implement the (opt-in) orm.xml handling using JAXB 2021-04-15 14:01:28 +02:00
Yoann Rodière 10aee2a9fa HHH-14529 Add a common interface for Jaxb representations of associations 2021-04-15 14:01:28 +02:00
Yoann Rodière 437af3b4da HHH-14529 Add a common interface for JaxbEntity, JaxbMappedSuperclass and JaxbEntityListener 2021-04-15 14:01:28 +02:00
Yoann Rodière b4dd2e272f HHH-14529 Add a few missing methods to the JAXB representation of ManagedType 2021-04-15 14:01:28 +02:00
Yoann Rodière efe5424d35 HHH-14529 Add a few missing enum mappings for orm.xml 2021-04-15 14:01:28 +02:00
Yoann Rodière bbc25cf28b HHH-14529 Add common interface for JaxbEntity and JaxbMappedSuperclass 2021-04-15 14:01:28 +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
Yoann Rodière e8cd9f8917 HHH-14529 Clean up constructors in JPAXMLOverriddenMetadataProvider and related 2021-04-15 14:01:28 +02:00
Yoann Rodière ef6bb2679b HHH-14529 Remove an unused orm.xml file from tests 2021-04-15 14:01:28 +02:00
Yoann Rodière 7291036680 HHH-14529 Copy orm.xml handling code to prepare for the new JAXB-based implementation
We will adapt the code in a later commit; I'm only doing the copy in
this commit in order to keep the review manageable.
2021-04-15 14:01:28 +02:00
Yoann Rodière 55ef4d47f2 HHH-14529 Remove commented-out code related to mapping parsing using dom4j 2021-04-15 14:01:28 +02:00
Yoann Rodière f92275f6c2 HHH-14529 Clarify that most fields are final in JPAOverriddenAnnotationReader 2021-04-15 14:01:28 +02:00
Yoann Rodière 2907c95cbd HHH-14529 Introduce JAXB bindings for JPA's orm.xml
Adapted from Steve's work on the unified JPA/ORM XML mapping. See:
4ff3795e60 (diff-b407928c3aa7ee1f231e0119ff70345caa5f6a83ed6348128c5159afbe3c6df2)
https://github.com/sebersole/hibernate-orm/compare/jandex-binding

Co-authored-by: Steve Ebersole <steve@hibernate.org>
2021-04-15 14:01:28 +02:00
Yoann Rodière 252fb65f95 HHH-14529 Remove an unused xjb file 2021-04-15 14:01:28 +02:00
Yoann Rodière 18f23ee701 HHH-14529 Fix invalid namespace URIs in MappingXsdSupport
Probably copy/pasted from ConfigXsdSupport, and we forgot to add the
"/orm" suffix.
2021-04-15 14:01:28 +02:00
Yoann Rodière fcc63d9ab0 HHH-14529 Stop using two separate BootstrapServiceRegistries for the same SessionFactory in BaseCoreFunctionalTestCase 2021-04-15 14:01:28 +02:00
Yoann Rodière ebb30aa178 HHH-14530 Allow adding pre-parsed XML mappings to MetadataSources
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-04-15 14:01:28 +02:00
Yoann Rodière 571af7bc9e HHH-14557 Test JDBC resources are released on each rollback 2021-04-14 14:15:07 +02:00
Yoann Rodière e03beca97f HHH-14557 Test JDBC resources are released on each commit
Not just on session closing.
2021-04-14 14:15:07 +02:00
Yoann Rodière 3825a671a7 HHH-14557 Always release JDBC connection and resources on rollback 2021-04-14 14:15:07 +02:00
Christian Beikov b166e684e1 Skip certain LockTests for Oracle on GH Actions which don't work there 2021-04-06 16:12:19 +02:00
Gail Badner ad84aaf0bc HHH-14537 : Updated test as requested; added tests that lazy associations with non-existing entity is unaffected. 2021-03-30 11:19:38 -07:00
Gail Badner 3c1e16e06c HHH-14537 EntityNotFoundException thrown when non-existing association with @NotFound(IGNORE) mapped has proxy in PersistenceContext 2021-03-30 11:19:38 -07:00
Gail Badner 9cb9137fb8 HHH-14537 : Added test for issue 2021-03-30 11:19:38 -07:00
Christian Beikov 2b06123635 Try dropping local tables in same connection 2021-03-25 09:20:39 +01:00
Guillaume Smet 2c1aedd176 HHH-12867 Add test case 2021-03-24 09:40:11 +01:00
Steve Ebersole 725faa258f HHH-14509 : Git master -> main branch renaming 2021-03-19 10:59:03 -05:00
Gautham Kumar b4bf58188c HHH-14449 : ResultStream closing is not properly handled 2021-03-18 07:22:42 -05:00
Sanne Grinovero 2c39bc0ac6 HHH-14502 Iterations and memory retention improvements for processing of PropertyContainer metadata 2021-03-15 17:13:27 +00:00
Andrea Boriero 9f22dafe17 HHH-14499 Explicitly listing mapped classes which are @MappedSuperClass might break narrowing down of generics 2021-03-15 16:44:21 +00:00
Andrea Boriero 394d6ab2d4 HHH-14499 Add test for issue 2021-03-15 16:44:21 +00:00
randymay 44d78d9b85 HHH-12076 Fix index out of bounds exception and allow table group joins for collection joins as well 2021-03-12 14:53:13 +01:00
Christian Beikov 52684bba26 Fix concurrency issue in QueryCacheTest 2021-03-12 08:06:33 +01:00
Christian Beikov d1445efd82 HHH-9663 Implement support for orphan removal of assocations within embeddables 2021-03-12 08:06:33 +01:00
Jaanus Hansen 8101e3e47d HHH-9663 added failing test case for Embeddable orphanRemoval 2021-03-12 08:06:33 +01:00
Steve Ebersole 9952c09843 HHH-14491 - Apply default allocation/increment size for @GeneratedValue(AUTO)
HHH-14492 - Prefer sequence-per-entity (hierarchy) for @GeneratedValue(AUTO) by default

- added test as @FailureExpected to track this into 6.0
2021-03-10 16:23:42 -06:00
Christian Beikov a514460bb9 HHH-9182 Cleanup grammar ambiguity issues 2021-03-05 15:20:03 +01:00
Yoann Rodière fb079d077c HHH-14439 Test executing the same query with subselects a second time with different list parameters
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-03-04 08:35:23 +01:00
Yoann Rodière 81071a4594 HHH-14439 Clean up expanded list parameters before re-executing a query
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-03-04 08:35:23 +01:00
Vlad Mihalcea ed3bbf15e4 HHH-13077 - Optimize query plan call count 2021-03-03 08:07:53 -06:00
johnniang 2d5d6061c5 HHH-14473 add test case 2021-03-03 11:06:13 +00:00
johnniang f03dd44107 HHH-14473 Resolve managed class name with class loader as well 2021-03-03 11:06:13 +00:00
Sanne Grinovero f7c85fad4a HHH-14477 Log warnings about the use of Javassist as BytecodeProvider being deprecated 2021-03-03 10:57:35 +00:00
Christian Beikov 44f4f93a29 HHH-9182 Test and fix HQL rules to allow more expression types in aggregate functions 2021-03-03 08:34:12 +01:00
Gail Badner 34a361058d HHH-14390 HHH-14466 : StackOverflowError loading inverse side of associations owned by associated entity ID
Improved code comments as recommended by Steve Ebersole.
2021-03-02 14:13:48 -08:00
Gail Badner cb18fdb4f7 HHH-14390 : StackOverflowError with @Fetch(FetchMode.SELECT) mapped for entity with an ID that is a bidirectional one-to-one eager association
Move fix into FetchStyleLoadPlanBuildingAssociationVisitationStrategy
2021-03-02 14:13:47 -08:00
Gail Badner 2bacaabc37 HHH-14466 : StackOverflowError loading an entity with eager one-to-many if bidirectional and many-to-one side is the ID 2021-03-02 14:13:47 -08:00
Christian Beikov 59735d2329 HHH-14471 Fix concurrency issue due to builder sharing in DynamicBatchingEntityLoader 2021-03-02 18:11:47 +01:00
Christian Beikov 1714c022e2 HHH-11076 Log a warning if uninitialized collection unsets session when filters are enabled 2021-03-02 17:28:13 +01:00
Sanne Grinovero eb639a2d95 HHH-14474 Method AbstractEntityPersister#getAppropriateUniqueKeyLoader also need to change in protected 2021-03-02 13:25:59 +00:00
Sanne Grinovero 17bffb08a5 HHH-14474 Style and formatting improvements 2021-03-02 10:26:58 +00:00
Gavin King 4fad616d4b HHH-14474 Refactor internal visibility to allow Hibernate Reactive to implement non-primary key associations
see https://github.com/hibernate/hibernate-reactive/issues/565
2021-03-02 10:26:47 +00:00
Sanne Grinovero 6868c68278 HHH-14443 Formatting and style fixes 2021-03-01 16:13:02 +00:00
Francois van Delft de3f3c1d74 HHH-14443 Add hashcode to ObjectTypeCacheEntry, so query cache can do a successfull lookup for queryies with AnyTypes 2021-03-01 16:05:38 +00:00
gbadner a90aaa48b4 HHH-14467 Avoid false positives when detecting *ToOne associations that are part of the identifier
Co-authored-by: Yoann Rodière <yoann@hibernate.org>
2021-03-01 08:37:14 +01:00
Gail Badner 021b2741ab HHH-14467 Simplify detection of *ToOne associations that are part of the entity identifier 2021-03-01 08:37:14 +01:00
Yoann Rodière b6b83536e6 HHH-14467 Test referencing an entity whose ID is derived
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-03-01 08:37:14 +01:00
Yoann Rodière 9b991310b5 HHH-14467 Fix relative ordering of second pass for associations and derived IDs
Always execute second pass for associations referencing an entity with
derived ID after the second pass for that entity's derived ID.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-03-01 08:37:14 +01:00
Gavin King 496e5995b2 deprecate old code for fetching id by natural id 2021-02-24 07:59:57 -06:00
Gavin King 3a24c700fc cache the @NaturalId loaders
and clean up some of the other loader caching code
2021-02-24 07:59:57 -06:00
Gavin King e0ee9f5b0a make it easy for Hibernate Reactive to reuse the @NaturalId stuff 2021-02-24 07:59:57 -06:00
Gavin King e368ac5bab more efficient loading by multiple @NaturalIds 2021-02-24 07:59:57 -06:00
Gavin King 725083b767 more efficient loading by @NaturalId
For entities with a single @NaturalId property only.
Uses a unique key EntityLoader instead of two selects.
2021-02-24 07:59:57 -06:00
Gavin King e38df7ed59 HHH-14464 Expose useful things to enable cleanup of HR code
- expose useful static-y methods in AbstractEntityPersister
- add methods to OptimisticLockStyle to reduce verbosity
- add a useful method to ValueGeneration
2021-02-23 13:36:42 +00:00
Gavin King 578edbfd9f HHH-14464 Make two methods of AbstractEntityPersister protected
for the benefit of Hibernate Reeactive
2021-02-23 13:36:32 +00:00
Steve Ebersole db54fe44db HHH-13658 : Make LazyToOne optional
HHH-13134 : JOIN FETCH does not work properly with enhanced entities
2021-02-22 12:50:44 -06:00
Christian Beikov 91a68c6746 HHH-14460 Validate setter exists for persistent property also with mixed access strategy 2021-02-17 14:06:13 +01:00
Gail Badner 7e2747516a HHH-14389 : Add test case that throw IllegalArgumentException using EntityManager#find by ID when ID is a one-to-one association 2021-02-11 16:04:41 -08:00
Gail Badner 8a01b4dab4 HHH-14390 : StackOverflowError with @Fetch(FetchMode.SELECT) mapped for entity with an ID that is a bidirectional one-to-one eager association 2021-02-11 10:04:54 -08:00
Steve Ebersole 611796c0fc HHH-14450 - Drop ability to disable "enhanced proxies" 2021-02-10 13:11:35 -06:00
Christian Beikov 15caff9cbc Fix PostgreSQL cleanup wrt extensions, fix Oracle cleanup wrt sys objects, always drop id tables in tests, fix global temp table tests, add on commit delete rows for hana dialects 2021-02-10 09:30:48 +01:00
Sanne Grinovero 2eaa0f8c67 HHH-14447 Remove unneccessary type check 2021-02-09 13:35:44 +01:00
Sanne Grinovero 81a9b87ec1 HHH-14447 Add missing EventGroupListeners into FastSessionService and take advantage of them 2021-02-09 13:00:45 +01:00
Yoann Rodière 14e181806f HHH-14444 Encapsulate ID generation in GenerationState for PooledLoThreadLocalOptimizer
This is just a cosmetic change, it doesn't change the behavior at all.

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Yoann Rodière 511dda7dee HHH-14444 Avoid synchronization for multi-tenant generation in PooledLoThreadLocalOptimizer
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Yoann Rodière 5c155f3f8d HHH-14444 Avoid synchronization for single-tenant generation in PooledLoThreadLocalOptimizer
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Yoann Rodière 04a40f8397 HHH-14444 Test concurrent usage of ID generator optimizers
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-02-09 09:17:44 +00:00
Andrea Boriero a094e17d2a HHH-14445 Javassist skip EntityWithMutableAttributesTest, LoadAndUpdateEntitiesWithCollectionsTest, SimpleDynamicUpdateTest, SimpleDynamicUpdateTest 2021-02-08 16:26:09 +01:00
Andrea Boriero cfc7b97250 HHH-14424 When enhanced as a proxy is enabled with dirty checking, on flush uninitialized entities containing collections are updated and all the fields are set to null 2021-02-04 14:09:25 +01:00
Andrea Boriero 26a46b2010 HHH-14424 Add test for issue 2021-02-04 14:09:25 +01:00
Nathan Xu 2cf9ec856c HHH-14384 Fix QueryProducer.createNativeQuery documentation 2021-02-04 11:16:26 +01:00
Gavin King d5b0c167c8 on H2 after 2.0 don't need column type workaround
Apparently H2 correctly reports column types via JDBC metadata
since 2.0, so this workaround is unnecessary.

Also add a default mapping for DECIMAL in superclass, just for
completeness.

cc @famod
2021-02-04 10:34:18 +01:00
Christian Beikov b3ab4c2299 Fix newly added tests for derby 2021-02-03 17:03:47 +01:00
Christian Beikov 1983123d72 Use a shared connection provider for most tests to reduce test time significantly 2021-02-03 17:03:47 +01:00
Christian Beikov 709ac039d1 Drop TypeConfigurationRegistry which was leaking session factories that had a bootstrap error
As far as I can tell, the purpose of TypeConfigurationRegistry was only for serialization, but since the TypeConfiguration UUID is always random, this won't work anyway.
2021-02-03 17:03:47 +01:00
Christian Beikov ffe45ccdd6 Register transaction coordinator as observer when session is waiting for auto close but coordinator is not shared 2021-02-03 17:03:47 +01:00
Christian Beikov 9f460e1c30 HHH-14432 Implement cleanup for EntityManagerFactoryBuilderImpl to close connections on bootstrap errors 2021-02-03 17:03:47 +01:00
Christian Beikov 21c89240d0 HHH-14435 Improve table information extraction (especially for Oracle with enableSynonyms)
Previously Oracle with enableSynonyms ran into a timeout on CI because the JDBC driver issues a rather expensive query. The new implementation issues a dummy query and uses the result set metadata as suggested in various online articles about schema introspection
2021-02-03 17:03:47 +01:00
Christian Beikov a8cddb93e8 HHH-14434 Fix autocommit reset for connection used in DdlTransactionIsolatorNonJtaImpl 2021-02-03 17:03:47 +01:00
Christian Beikov 9135f69c91 HHH-14433 Add possibility to drop local temporary tables to enable connection pooling in tests 2021-02-03 17:03:47 +01:00
Christian Beikov d767d46d05 Fix most tests to work on all DBs and fix a bunch of connection leaks 2021-02-03 17:03:47 +01:00
Christian Beikov 5d9f6936ff HHH-14351 Fix order by type discriminator rendering issue 2021-02-03 17:02:59 +01:00
Christian Beikov d2036cb11a HHH-14351 Test showing that order by type discriminator desc fails 2021-02-03 17:02:59 +01:00
Christian Beikov 52785ce0ed HHH-14408 Defer property type access until integrators ran 2021-02-03 15:18:50 +01:00
Christian Beikov 6fcb83c90d HHH-14408 Test that user type provided by integrator is properly registered 2021-02-03 15:18:50 +01:00
Andrea Boriero d213d675ce HHH-13658 fix failing test on Oracle 2021-02-03 10:11:53 +01:00
Sanne Grinovero 22f858c68b HHH-14428 Could avoid allocating an org.hibernate.internal.SessionFactoryImpl when no options are set 2021-02-01 22:26:38 +00:00
Sanne Grinovero 15d418c332 HHH-14386 Fails to boot if provided CurrentTenantIdentifierResolver is unable to operate during bootstrap 2021-02-01 22:26:38 +00:00
Gail Badner 0e75b4f3b5 HHH-13944 : Added "join fetch" and one-to-many test cases 2021-02-01 14:05:10 -08:00
Andrea Boriero 20008b19bc HHH-13944 HQL/JPQL size() does not work (anymore) with nested expression 2021-02-01 14:05:10 -08:00
Andrea Boriero c99904a606 HHH-13944 Add test for issue 2021-02-01 14:05:10 -08:00
Alexander Iskuskov 19d46d2fed HHH-14421 Fix javadoc for Query.stream() method 2021-02-01 21:43:40 +00:00
Sanne Grinovero 5881b88173 HHH-14418 Revert to previous semantics: EventListenerGroup#clear() to also get rid of the default DuplicationStrategy 2021-01-28 22:20:33 +00:00
Sanne Grinovero 6fa09dd4db HHH-14418 Reduce memory retention of each EventListenerGroup 2021-01-26 10:02:27 +00:00
Yoann Rodière 4c9c2a809a HHH-14404 Remove check for concurrent execution of LogicalConnectionManagedImpl#releaseConnection
It's unlikely to ever happen, and even if it happened, the resulting
exception would probably be rather clear about the fact that the problem
is related to concurrent execution (ConcurrentModificationException
thrown by a Map of resources, for example).

See
https://github.com/hibernate/hibernate-orm/pull/3693#discussion_r560393293

Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière 8210bc220b HHH-14404 Test setting the connection handling mode through SessionBuilder
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière d0b44c48ef HHH-14404 Take into account the connectionHandlingMode passed through SessionBuilder
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière d726dcb394 HHH-14326 Test JDBC resources are released before closing the connection
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière e5c830da19 HHH-14326 Always close the connection even if releasing JDBC resources fails
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Yoann Rodière 74433cdec3 HHH-14326 Release JDBC resources before closing the connection
Signed-off-by: Yoann Rodière <yoann@hibernate.org>
2021-01-20 09:26:51 +00:00
Nathan Xu 1e5d64cf79 HHH-14407 NPE in Column.getSqlTypeCode(Mapping mapping) for column 'hib_sess_id' when using PersistentTableBulkIdStrategy 2021-01-15 08:08:14 +01:00
Gail Badner 602926bf9b HHH-13658 : Remove @LazyToOne(NO_PROXY) from classes used with bytecode-proxies enabled. FetchGraphTest#testRandomAccess failed so it was marked @FailureExpected. 2021-01-13 16:13:54 -08:00
Steve Ebersole 0c974991f7 HHH-13658 : make NO_PROXY unnecessary
- Better handle `FetchModeType#LAZY` for to-one associations based on whether bytecode-enhancement-as-proxy is enabled.  Minimize the cases a user is likely to need to use `@LazyToOne`
- See also EAP7-1402
2021-01-13 12:03:44 -06:00
Yanming Zhou 633d0f08d6 HHH-14229 Fix unexpected foreign key creation
before this commit, foreign key is created even ConstraintMode.NO_CONSTRAINT present on the @ManyToOne side
2021-01-11 14:23:35 -08:00
Gail Badner b40d1251e3 HHH-14390 : Added test cases 2021-01-05 19:47:14 -08:00
Gail Badner 30fcb05795 HHH-14389 : Added test case. OneToOneWithDerivedIdentityTest#testFindById reproduces the bug and is annotated with @FailureExpected 2021-01-05 12:32:29 -08:00