Commit Graph

581 Commits

Author SHA1 Message Date
Steve Ebersole 69e57404c6 HHH-15226 - Publish a Gradle platform (Maven Bom++) for Hibernate ORM
- plus use Gradle version catalogs as opposed to `libraries.gradle`
- dropped OSGi manifest entries for hibernate-envers - they were broken and we decided we no longer support OSGi
2022-04-26 14:41:04 -05:00
Steve Ebersole bec32ebbc4 HHH-15133 - Use specified result-type to better infer "shape" of query results with implicit selections 2022-03-30 13:34:18 -05:00
Steve Ebersole cac18ae0c7 HHH-15133 - Use specified result-type to better infer "shape" of query results with implicit selections 2022-03-30 13:34:18 -05:00
Christian Beikov 4b48dd31f6 Get rid of MVCC JDBC connection parameter 2022-03-24 09:15:11 +01:00
Christian Beikov 2c80250b0e Replace typeNames in Dialect with SqlType and SqlTypeRegistry that dialects contribute into 2022-03-08 21:59:49 +01:00
Steve Ebersole d52ebfb41d HHH-15099 - Improve handling of associations marked with @NotFound
- Keep track of NotFoundAction into mapping model
- Fix tests with erroneous assertions about `@NotFound` associations allowed to be lazy
2022-03-05 08:59:31 -06:00
Sanne Grinovero 572171e27f Jandex, Classmate and commons annotations shouldn't be listed as API 2022-03-03 19:23:58 +00:00
Christian Beikov a91d23825f Make list semantics setting explicit for failing tests 2022-03-02 17:02:53 +01:00
Andrea Boriero 8ed1ed5159 Re-enabled additional tests 2022-02-16 16:32:49 +01:00
Christian Beikov 5bfbc466eb Rename JPA copy compliance setting to `hibernate.criteria.copy_tree` 2022-02-10 18:24:23 +01:00
Gavin King 437da23961 removing a questionable grammar rule seems to make implicit collection joins work 2022-02-09 22:05:21 +01:00
Christian Beikov 5828536428 Implement window function support in HQL 2022-02-09 18:32:27 +01:00
Christian Beikov 0509b10040 Implement support for ordered set-aggregate functions like listagg, percentile_disc, rank etc. 2022-02-01 13:38:32 +01:00
Christian Beikov 0ad5796ffd Implement SQM copying for JPA Criteria API uses 2022-01-31 19:04:37 +01:00
Gavin King 0a251e9a0e second round of binder cleanup: CollectionBinder, more AnnotationBinder 2022-01-27 18:13:09 +01:00
Steve Ebersole 67fbab36bb list v. bag - javadoc, migration guide 2022-01-27 08:49:58 -06:00
Steve Ebersole 5436f441ae move remaining tests from o.h.test to o.h.orm.test 2022-01-26 17:06:53 -06:00
Jan Schatteman cc0b198142 Remove some deprecations in org.hibernate.cfg and
org.hibernate.collection.spi

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2022-01-26 14:31:41 +01: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
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 e3a59f883a get rid of billions of obsolete WeakerAccess suppressions 2022-01-23 00:53:38 +01:00
Steve Ebersole 2b5a5fc196 api, spi, internal, deprecation
org.hibernate.query package
2022-01-21 13:27:11 -06:00
Gavin King a79891a426 the the in Javadoc and comments 2022-01-21 14:27:20 +01:00
Steve Ebersole 6cbfb30ea4 api, spi, internal, deprecation 2022-01-20 11:29:57 -06:00
Christian Beikov ad43a625ae Allow skipping dialect versions even when using `@RequiresDialect` 2022-01-18 15:18:01 +01:00
Andrea Boriero 23a011385d Fix MaskSensitiveInformationTest failure 2022-01-17 16:41:42 +01:00
Steve Ebersole 4eca44eecd Clean up usages of ``@NotImplementedYet` 2022-01-14 15:58:30 -06:00
Gavin King 4b5e6e1969 introduce new syntax for aggregate functions applying to collections
max(element x.y), min(index x.y), sum(element x.y)

and rationalize the node types here
2022-01-10 15:48:34 +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
Christian Beikov 2666f3f6e0 Add feature requirement for multi-insert test 2022-01-05 14:37:50 +01:00
Gavin King 5a0537aa04 rough implementation of naturalid() function in HQL
and add tests for id(), version(), naturalid()
2022-01-04 23:07:39 +01:00
Fabio Massimo Ercoli 2f8d22e9e5
Fix test to follow 6.0 behaviour (#4513)
* Fix test to follow 6.0 behaviour
2021-12-23 14:15:43 +01:00
Christian Beikov fec4fb7a85 Fix connection leak through connection validation code 2021-12-22 14:45:53 +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
Gavin King 675d176b57 stop trying to clear the public schema on postgres
because you don't have permission to do that
2021-12-10 23:11:16 +01:00
Gavin King 611b6c0179 don't do things that can fail in static initializers
because the failure gets swallowed by a nasty NCDFE
and is impossible to track down
2021-12-10 23:11:16 +01:00
Steve Ebersole 942dd7283f DialectVersion
- rename `#isSince` to `#isSameOrAfter`
2021-12-08 15:54:50 -06:00
Steve Ebersole 10d759e139 Dialect version 2021-12-08 15:36:48 -06: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
Steve Ebersole 9028adc30e Clean up test logging (hibernate-core) 2021-12-06 10:12:25 -06:00
Jan Schatteman ce6850bdfa Remove 'statementInspectorClass' from @Jpa and refactor its usage to use
a @SettingProvider

Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-25 18:42:32 +01:00
Andrea Boriero bdc1e4103d Merge remote-tracking branch 'upstream/main' into wip/6.0_merge 2021-11-24 16:48:43 +01:00
Yoann Rodière 35f374aac7 HHH-14936 Avoid NPE in JdbcConnectionContext's static init 2021-11-22 12:22:07 +01:00
Christian Beikov b8429bca42 Introduce a proper EmbeddableMappingType for id-class and handle id-class uses uniformly 2021-11-19 16:29:56 +01:00
Andrea Boriero c1e16b4e4a Re-enabled additional tests 2021-11-16 13:51:26 +01:00
Andrea Boriero 7dab08448f Re-enable additional tests 2021-11-15 14:00:52 +01:00
Steve Ebersole 7ce1c673ff JpaCompliance improvement 2021-11-11 17:03:40 -06:00
Christian Beikov 9a329f4991 Various fixes and move tests from test.jpa
* Remodel `@MapKey` support to not create subqueries in the on-clause anymore
* Make sure the index table group is reused for the to-one association a `@MapKey` refers to
* Consistently register collection part table groups
* Implement support for FK optimization for EntityCollectionPart
2021-11-11 15:49:30 +01:00
Jan Schatteman 723735ca76 Use org.hibernate.testing.orm.junit.RequiresDialect instead of org.hibernate.testing.RequiresDialect and indicate Dialect version where needed.
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-10 22:53:29 +01:00
Jan Schatteman c4401452dd Enable a SettingProvider[] in @Jpa and refactor away the NonStringValueSettingProvider class
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2021-11-10 22:53:29 +01:00
Andrea Boriero 9c9a326ae6 Fix Dialect#BatchLoadSizingStrategy#determineOptimalBatchLoadSize taking into account org.hibernate.cfg.AvailableSettings#IN_CLAUSE_PARAMETER_PADDING 2021-11-09 12:16:41 +01:00
Andrea Boriero f9d0b7d069 HHH-14876 Parameter padding for IN clauses doesn't work in Hibernate 6.0.0.Beta1 2021-11-09 12:16:41 +01:00
Steve Ebersole 0eee5ff5b0 HHH-14905 - Verify that custom JavaType and JdbcType registration combo works 2021-11-05 10:35:21 -05:00
Steve Ebersole 34cdd3077c HHH-14905 - Verify that custom JavaType and JdbcType registration combo works 2021-11-04 13:11:33 -05:00
Andrea Boriero 67c2c51d47 Re-enabled additional tests 2021-10-25 15:57:39 +02:00
Steve Ebersole db70fd38dd HHH-14877 - FetchMode.SUBSELECT ignored
Worked on FetchMode.SUBSELECT support but also worked on a few general collection fetch issues and a few improvements
2021-10-21 16:47:20 -05:00
bb7133 5bd27eb853 HHH-14576 : Introduce the dialect for TiDB 2021-10-20 16:19:22 +02:00
Christian Beikov 541302a511 Get rid of most basic type subclasses 2021-10-19 16:33:36 +02:00
Christian Beikov 548df627e6 Implement global configuration and sketch out annotations for time zone storage configuration. Move type tests and add skips for some tests running into H2 bugs. Also, fix some jdbc type assertion tests 2021-10-11 16:11:46 +02:00
Steve Ebersole ede52e9aba HHH-14856 - Introduce @CustomType;
HHH-14865 - Re-work @Any and @ManyToAny support;
HHH-14863 - Compositional definition of basic value mappings;
HHH-14864 - Drop legacy Type-based annotations

* documentation work
* support for using most of the new mapping annotations related to basic and any mappings as meta-annotations
* support for `@Mutability` on AttributeConverter implementations
* additional tests in the User Guide's BitSet mapping Case Study
2021-10-07 16:46:35 -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
Andrea Boriero 7e92c29515 Fix test creating BootstrapContextImpl twice 2021-10-05 15:39:58 +02:00
Christian Beikov 40ccad1db2 Get rid of deprecated dialect methods, JoinFragment, LegacyLimitHandler, LegacySequenceSupport, CaseFragment, SelectFragment etc. 2021-10-05 15:18:38 +02:00
Christian Beikov c5baae7e11 Improve SQL rendering performance by avoiding intermediate String objects 2021-10-05 15:18:38 +02:00
Andrea Boriero 8c40de9cff Merge remote-tracking branch 'upstream/main' into wip/6.0_merge_main_7 2021-10-01 11:34:10 +02:00
Steve Ebersole 986d65a288 HHH-14837 - Move to Jakarta EE
More settings work
2021-09-28 19:01:28 -05:00
taghizadeh87 87e5de74aa Fix typo 2021-09-27 17:17:32 +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
Andrea Boriero 573d146046 Removed Dialect#areStringComparisonsCaseInsensitive() method 2021-09-25 11:52:03 +02:00
Christian Beikov 905227d2ed Get rid of unnecessary sql tokens for joins and improve join counting for tests 2021-09-23 18:04:02 +02: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
Steve Ebersole 0c674deda5 Query hints
+ dropped `AbstractProducedQuery` (no subclasses)
2021-08-23 13:41:41 -05:00
Christian Beikov 89d16bddc8 Switch to case sensitive collations and fix SQL Server issues 2021-08-05 23:35:17 +02:00
Christian Beikov 1fb839b841 Skip some tests for databases that don't support a current_timestamp function with microsecond precision 2021-08-05 09:50:28 +02:00
Christian Beikov ca22db14bb Fix some issues with collection-path related HQL functions minindex/maxindex/minelement/maxelement/elements/indices and group by item rendering problems 2021-08-05 09:50:28 +02:00
Christian Beikov ad49a41cd9 Fix issues with HANA to allow running the testsuite 2021-07-28 16:26:09 +02:00
Steve Ebersole d16073f7ce remove dependency on hibernate-core tests from hibernate-envers 2021-07-27 19:38:44 -05:00
Andrea Boriero 77d870f08c Re-enabled additional tests 2021-07-26 16:43:26 +02:00
Andrea Boriero 96be013089 Re-enabled additional tests 2021-07-26 16:43:26 +02:00
Andrea Boriero 3f7044eebe Re-enabled additional tests 2021-07-26 16:43:26 +02:00
Andrea Boriero d6518e0c7a Re-enabled additional tests 2021-07-08 14:09:46 +02:00
Andrea Boriero 09266c7ae1 Fix RIGHT OUTER attribute-joins are not supported 2021-07-08 11:48:53 +02: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
Steve Ebersole 172ddf8700 Improved build configuration to better leverage Gradle up-to-date handling;
Preparation for moving to Gradle 7.0

- Improve Jakarta transformation handling (tests are also actually run now as a bonus);
- Improved CacheableHbmXmlTest to not write "ser" file to `${buildDir}/resources/test`
- Improved DatabaseService(Plugin)
- Update a number of plugins which did not handle up-to-date-ness properly
2021-06-26 08:46:09 -05:00
Steve Ebersole a6dc84e1fe Work on Instantiator in preparation for composite-user-type work 2021-06-24 10:30:31 -05:00
Andrea Boriero a8cf8165ae Add version to logic evaluating @SkipForDialect and @RequiresDialect 2021-06-15 18:06:27 +02:00
Andrea Boriero 105f91e910 Merge remote-tracking branch 'upstream/main' into wip/6.0 2021-06-15 11:50:01 +02:00
Steve Ebersole e4d61a7c62 HHH-14678 - Drop ResultSetWrapper and friends 2021-06-11 12:02:47 -05: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
Christian Beikov 5e0864729b Update H2 to 1.4.200. Replace LockMode in Fetch and DomainResult with the source alias to resolve lock mode during initializer creation. Introduce notion of aggregate function with an optional filter clause. Implement support for rendering locks into SQL. Move locking tests to orm package 2021-06-09 16:41:23 +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 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