Commit Graph

6903 Commits

Author SHA1 Message Date
Andrea Boriero f47a44e1cf Fix eager batch collection not initialized 2021-05-27 09:31:43 +02:00
Andrea Boriero 21c607c929 Fix CollectionLoaderBatchKey parameters binding error 2021-05-27 09:31:43 +02:00
Andrea Boriero 629b318731 Fix SmqBagJoin, SqmSetJoin and SqmListJoin throwing NotYetImplementedFor6Exception 2021-05-27 09:31:43 +02:00
Yoann Rodière 07eca3883d HHH-14635 Upgrade to log4j 2 2021-05-26 09:05:56 +02:00
Christian Beikov 8c9330a8ff Fix jakarta tests 2021-05-25 18:11:29 +02:00
nathan.xu f90a5f930b HHH-14607 prefer FetchOptions over FetchStrategy 2021-05-25 07:29:52 -05:00
Vlad Mihalcea cea044ec69 HHH-14632 - Call statistics.queryPlanCacheHit and statistics.queryPlanCacheMiss for FilterQueryPlan and NativeSQLQueryPlan 2021-05-25 07:41:07 +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
Andrea Boriero 466c9b5f38 Merge branch 'main_2' into wip/6.0_merge_5 2021-05-24 16:00:11 +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
nathan.xu 2e875f9b8a HHH-14617 remove QueryLiteralRendering and LiteralHandlingMode 2021-05-20 11:26:22 +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
Steve Ebersole db502bf1b0 prepare for 6.0.0.Alpha8 2021-05-18 12:37:36 -05:00
Andrea Boriero 531d0f923c Fix joined sublcass hql wrong join type for associations 2021-05-18 16:30:50 +02:00
Andrea Boriero b52dfbab7e Collection Intializer fix creation of persistence set instance for the wrong subclass 2021-05-18 16:30:50 +02:00
Andrea Boriero 9e343ac0d7 Re-enable additional tests and fix hql queries not detecting circularity 2021-05-18 16:30:50 +02:00
nathan.xu 92c70ecb08 HHH-14605 add BLOB, CLOB and NCLOB to JdbcTypeDescriptor's type category method 2021-05-18 12:51:59 +02:00
Steve Ebersole c7e37dc1d7 HHH-14513 : Move publishing release and snapshot artifacts to Sonatype OSSRH 2021-05-14 15:06:15 -05:00
nathan.xu d53216306f HHH-14600 verify UUID 2021-05-14 12:44:52 -05:00
Nathan Xu 0f683ff25d HHH-14601 fix the typo of `extracter` 2021-05-14 11:43:13 -05:00
Steve Ebersole c17396521c mariadb nationalization support 2021-05-13 12:43:59 -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
Andrea Boriero b30a68f5be HHH-14596 WhereAnnotatedOneToManySizeTest fails on HANA database 2021-05-13 09:49:14 +02:00
Jan Schatteman 987dbbba2f Fix in one of the PersistenceXmlParser.parse() methods used in tests
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-05-12 17:44:17 +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
gavin e60e3736a7 cleaner approach to work around Oracle setNull(BOOLEAN) bug
- introduce doBindNull() in BasicBinder
- use WrapperOptions and FastSessionServices
- use getPreferredSqlTypeCodeForBoolean()
2021-05-12 14:56:51 +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
Andrea Boriero 0ecd66fd46 Fix use EmbeddedIdentifier instance as Entity 2021-05-10 18:12:06 +02:00
Christian Beikov 4e9b8c0c34 Introduce ForeignKeyDescriptor.Side wrapper around ModelPart of the FK sides to discriminate the role of the side better 2021-05-10 16:45:40 +02:00
Christian Beikov 3be99c1c73 Introduce enum for describing KEY and TARGET of FK and use/expose that to describe the FK direction of to-one associations 2021-05-10 14:33:28 +02:00
Christian Beikov a864e25339 Fix wrong key model of FK for inverse FK side 2021-05-07 12:47:47 +02:00
Andrea Boriero 867dd52ab3 Re-enabled OneToOneFormulaTest 2021-05-07 09:59:08 +02:00
Andrea Boriero 05ff370488 Re-enabled OneToOneFormulaTest 2021-05-07 09:57:56 +02:00
Christian Beikov e122ac33dc Fix foreign key direction issues 2021-05-06 16:54:47 +02:00
Andrea Boriero 0157af79f7 Fix OneToOneFormulaTest#testOneToOneFormula() 2021-05-06 12:33:41 +02:00
Andrea Boriero d6a6c29bd4 Re-enabled additional tests 2021-05-06 09:10:03 +02:00
Christian Beikov a7ed354af9 Cleanup the circular handling of fetch building of embeddable FKs. Use the target navigable path for target FK domain results 2021-05-06 08:50:07 +02:00
Christian Beikov 1a24c93155 Move tests from packages actionqueue, annotations, batch, boot, bytecode, id, resource, schemafilter, schematools, schemaupdate, schemavalidation, serialization, service, tool, unidir, util 2021-05-06 07:29:57 +02:00
Christian Beikov 71f666f0b6 Use Property#getPropertyAccessStrategy which internally delegates to BuiltInPropertyAccessStrategies to handle enhanced cases 2021-05-06 07:29:57 +02:00
Christian Beikov 8e26756cce Handle basic value type bindings before the copy identifier component second pass like in Hibernate 5 to avoid issues with missing types 2021-05-06 07:29:57 +02:00
Christian Beikov 9bba88b10e Fix NPE when fetch profile returns null for a fetch by role. Don't fetch discriminator in result set mapping if entity type has not subtypes 2021-05-06 07:29:57 +02:00
Christian Beikov c79e9effe9 Retain newlines between command parts in sql script parsing as spaces like in Hibernate 5. Also, improve the parsing efficiency by not defining rules and thus creating contexts for every token type 2021-05-06 07:29:57 +02:00
Christian Beikov 181ac6e0ff Move classloader, comments, connections, entityname, event, events, eviction, exception and fetch packages. Fix issues with key-many-to-one in collection key FK and implement cascade based fetching 2021-05-05 16:57:40 +02:00
Steve Ebersole c87a50ca0f Support for type coercion for values passed as ids and as query parameter bindings
- fixed compilation errors when using JDK 8
2021-05-04 09:15:19 -05:00
Steve Ebersole fa8571c706 Support for type coercion for values passed as ids and as query parameter bindings
- widening coercions
- valid (no over/under flow) narrowing coercions
- JpaCompliance setting
2021-05-04 07:42:06 -05:00
Steve Ebersole eb9bb2d82f Support for type coercion for values passed as ids and as query parameter bindings
- widening coercions
- valid (no over/under flow) narrowing coercions
- JpaCompliance setting
2021-05-04 07:21:11 -05:00
Steve Ebersole d95806b516 Support for type coercion for values passed as ids and as query parameter bindings
- widening coercions
- valid (no over/under flow) narrowing coercions
2021-05-04 07:21:11 -05:00
Christian Beikov 27662f91a9 Move most of the sql package to orm.test, remove unnecessary JdbcValuesMappingProducer implementations and make it clear that ResultSetMapping is required for native queries. Fix quoting and some hbm issues 2021-05-04 12:21:32 +02:00
Christian Beikov fef3e53132 Move where package to orm.test and further improve result set mapping support 2021-05-04 12:21:32 +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
Andrea Boriero 8936034d29 HHH-14503 - Migration of tests from jpa/test to orm/test/jpa 2021-05-03 18:12:54 +02:00
Andrea Boriero 28d7f48019 HHH-14503 - Migration of tests from jpa/test to orm/test/jpa 2021-05-03 17:55:26 +02:00
Jan Schatteman 4a59e2d002 HHH-14503 - Migration of tests from jpa/test to orm/test/jpa
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-05-03 17:55:26 +02:00
Andrea Boriero 9bbad43e75 Fix PluraAttributeMapping wrong DelayedCollectionFetch creation 2021-05-03 17:25:18 +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
Steve Ebersole 9348952507 support for selecting of joined plural attributes 2021-04-29 13:02:50 -05:00
Steve Ebersole 19fbf18908 minor renaming and `#toString` fixups 2021-04-29 13:02:50 -05:00
Christian Beikov c096b463ee Emulate null ordering for CockroachDB 2021-04-29 13:43:52 +02:00
Christian Beikov 33b0087f2a Emulate null ordering for CockroachDB 2021-04-29 12:16:05 +02:00
Sanne Grinovero 0a4cd8e800 HHH-14575 Adapt BasicProxyFactoryImpl to be more native-image friendly 2021-04-28 10:31:27 +01:00
Andrea Boriero 9872fd9f0f HHH-14503 - Migration of tests from jpa/test to orm/test/jpa 2021-04-27 15:52:05 +02:00
Jan Schatteman 4b184fa0f1 HHH-14503 - Migration of tests from jpa/test to orm/test/jpa
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-04-23 00:04:41 +02: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
Andrea Boriero b27b414511 Fix EmbeddedForeignKeyDescriptor creation when o.h.mapping.Value has no columns, Re-enabled additional tests 2021-04-22 13:52:16 +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
Andrea Boriero 15e49692e9 Fix wrong creation of new instances for non aggregated id with no IdClass 2021-04-22 10:32:03 +02:00
Christian Beikov 9080872946 Infer parameter bind type for null parameter values instead of using a default 2021-04-22 10:16:52 +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
Steve Ebersole 607234e7bf re-enable tests
re-organize some tests
o.h.test.hql.ParameterTest -> LegacyParameterTests
bug with binding ordinal parameter lists
created "standard domain model" for Hibernate's legacy Animal model
2021-04-19 16:44:25 -05:00
Steve Ebersole cebb9d7649 re-enable tests
re-organize some tests
o.h.test.hql.EntityJoinTest
fixed RIGHT JOIN handling
2021-04-19 14:34:48 -05: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