Commit Graph

5728 Commits

Author SHA1 Message Date
Nathan Xu de6736ba32 HHH-14227 Insert statements are not ordered with entities that use inheritance and reference a subclass 2020-10-05 13:40:08 +01:00
Nathan Xu 733ece81f4 HHH-14231 Fix ClassCastException in ScrollableResultsImpl for primitive array value 2020-09-30 17:56:29 +01:00
Dmitry Gusev 77cf9d5108 HHH-14242 Micro optimisations of ActionQueue: redundant branch evaluation 2020-09-30 17:27:12 +01:00
Sanne Grinovero 71ef49d6b1 Revert "HHH-14240 Stop generating fragments of SQL as uppercase"
This reverts commit 9ac29ab4dc.

See also https://github.com/hibernate/hibernate-orm/pull/3555#issuecomment-701472270
2020-09-30 17:10:42 +01:00
Sanne Grinovero 225e29d2b2 HHH-14217 Minor optimisations in the highlighting formatter implementation 2020-09-30 16:58:29 +01:00
Sanne Grinovero 916513a7eb HHH-14217 Code style 2020-09-30 16:51:27 +01:00
Gavin King cf995a1571 HHH-14217 Add syntax highlighting to the logged SQL
Using ANSI escape codes

Must be explicitly enabled using hibernate.highlight_sql
2020-09-30 16:39:12 +01:00
Gavin King 9ac29ab4dc HHH-14240 Stop generating fragments of SQL as uppercase 2020-09-30 16:17:59 +01:00
Gavin King 7f6479541d HHH-14203 DB2 requires the restrict keyword to drop the schema
The 'restrict' keyword is required on DB2.
2020-09-30 15:55:20 +01:00
Gavin King bc39df2812 HHH-14238 Option to include collection fields in the default fetch group
There is no good reason to lazily-instantiate a collection
wrapper, since that operation never requires access to the
database.

See discussion here:

   https://github.com/hibernate/hibernate-reactive/issues/374
2020-09-30 15:24:48 +01:00
Andrea Boriero 57004cdee7 HHH-14220 Fix failure with Oracle 2020-09-29 08:31:48 +01:00
Andrea Boriero a64f193fae HHH-14220 Skip test when bytecode provider is Javassist 2020-09-28 21:39:44 +01:00
Sanne Grinovero f2a742e3c4 HHH-14236 Improve efficiency of ForeignKeyKey 2020-09-28 16:10:10 +01:00
Andrea Boriero a6eaed2db6 HHH-14220 EnhancementException failure with MappedSuperclass with a un-mapped collection 2020-09-28 17:09:00 +02:00
Andrea Boriero 5b8f5aa756 HHH-14220 Add test for issue 2020-09-28 17:09:00 +02:00
Jan-Willem Gmelig Meyling ad80d0bb41 HHH-14223 - Consider formulaTemplates in ID mapping for formula dereference 2020-09-28 14:26:51 +02:00
kubo ac34d72161 HHH-14223 - nullpointer exception on @JoinFormula with implicit join 2020-09-28 14:26:51 +02:00
Yanming Zhou 23fdfa4d6a HHH-14230 Fix generics to avoid ClassCastException 2020-09-28 11:06:29 +01:00
seregamorph 9934baf90e HHH-13884 Order.reverse() contract 2020-09-28 08:17:59 +02:00
Christian Beikov 6d67efa339 HHH-14212 Rename trigger entity to avoid keyword collision on Oracle 2020-09-22 15:52:40 +02:00
Nathan Xu 99a4edfac0 HHH-14212 fix Fetch Graph by simply returning false in TwoPhaseLoad#getOverridingEager() when Fetch Graph is being enforced 2020-09-22 08:06:49 +02:00
Nathan Xu 39b42c0a6a HHH-14212 revert back HHH-8776 (retaining testing case) 2020-09-22 08:06:49 +02:00
Nathan Xu 7cfdd0609d HHH-14212 revert back HHH-14097 (retaining testing case) 2020-09-22 08:06:49 +02:00
Nathan Xu 4c5f94f917 HHH-14212 revert back HHH-14124 (retaining testing case) 2020-09-22 08:06:49 +02:00
Yanming Zhou 6fb52c4fcd HHH-14219 Fix duplicated rows of sequence table
if generator is shared by multiple entities
2020-09-21 12:23:39 +02:00
Nathan Xu f136dabe18 HHH-14218 fix some typos in code comments 2020-09-20 14:44:45 +02:00
Christian Beikov 7ef5336fec HHH-14201 Fix test issues of NaturalIdDereferenceTest 2020-09-14 17:06:49 +02:00
Christian Beikov 20e5a5659b HHH-14148 Fix ANTLR grammar non-determinism 2020-09-14 17:06:49 +02:00
Nathan Xu 886083ab77 HHH-14201 fix HQL JOIN order issue 2020-09-14 10:04:07 +02:00
Nathan Xu cf94259248 HHH-14148 fix issue mapping order SQL fragment could produce incorrect SQL 2020-09-14 10:00:21 +02:00
Nathan Xu f91ed82757 HHH-14213 fix query numeric literal (integer representation) parsing exception message 2020-09-14 09:43:05 +02:00
Gavin King f203bda5db HHH-14204 Schema validator should be more forgiving of column type mismatches 2020-09-09 18:01:34 +01:00
Nathan Xu 3846001907 HHH-14206 Auto-apply converter not applied to primitives 2020-09-09 16:37:23 +02:00
Falko Modler 1cf99c748a HHH-14031 Update h2 to 1.4.197
Notes:
- h2 1.4.197+ does not support ns precision by default anymore
- h2 DateTimeUtils.resetCalendar() is required for many tests to avoid failures due to h2 internal caching
2020-09-09 10:32:21 +01:00
Yanming Zhou 4499abd9a9 Replace StringBuffer with StringBuilder
avoid unnecessary synchronization
2020-09-09 07:55:00 +02:00
Andrea Boriero 7f6ead80cc HHH-14197 Fix MariaDB failing test 2020-09-07 14:18:42 +01:00
Andrea Boriero 6cc63d9289 HHH-14113 Fix oracle test failure 2020-09-07 09:30:53 +01:00
Nathan Xu 37a60ea8bb HHH-14197 Criteria API doubly-nested subquery generates invalid SQL - missing subquery root 2020-09-07 09:22:18 +02:00
Jan-Willem Gmelig Meyling 17d365ecf8 HHH-14198 - Expose CompositeUserTypes through JPA Metamodel
Composite User Types work like regular Composite Types (like Embeddable) in HQL. However, because they cannot be represented in the JPA metamodel, libraries like [GraphQL for JPA](https://github.com/jcrygier/graphql-jpa) or [Blaze-Persistence](https://persistence.blazebit.com/) cannot fully utilize them. In order to make the composite property names available to these libraries, it would be nice to optionally expose these attributes as embedded attributes. This pull request aims to make that change and makes it configurable through a custom setting.

Composite User Types are a common solution for mapping composite interfaces. A common example is for example `Money` from the Java Money API (JSR-354), for which composite user types are implemented in [Jadira](http://jadira.sourceforge.net/usertype-userguide.html).

I know Composite User Types are currently not consiered in Hibernate 6.x. See also [this](https://hibernate.zulipchat.com/#narrow/stream/132094-hibernate-orm-dev/topic/CompositeUserType) Zulip thread. I am not sure if Hibernate 6.x will even have multi column types, which I presume would be a requirement to even introduce Composite User types back at some point. Usually Embeddables are a much easier, suitable mechanism for composite user types. But Embeddables are not always a viable alternative, because Embeddables require the type to be subclassed (as an interface cannot be mapped, and the type may not solely comprise fields that can be mapped to a simple basic type). To deal with this exact problem, `MonetaryAmounts` are still mapped as composite user type. There also have been suggestions to the JPA Spec to consider `AttributeConverters` for Embeddables for pracitcally the same purpose (which I think is going to be a mess of an implementation). See: https://github.com/eclipse-ee4j/jpa-api/issues/105

Anyways, regardless of whether this gets integrated in 5.x, I don't expect it to be integrated in 6.x unless we also reintroduce Composite User Types. I am willing to contribute Composite User Types for 6.x if people see benefit in it and think it can be done in the first place.
2020-09-04 14:53:11 +02:00
Nathan Xu 6365204c48 HHH-13058 fix issue left join root cannot be replaced by correlated parent in subquery 2020-09-03 08:50:19 +02:00
Moritz Becker afd6818e55 HHH-13201 - mark local origin variable as final 2020-09-03 08:42:15 +02:00
Moritz Becker d97db034b4 HHH-13201 - reformat test 2020-09-03 08:42:15 +02:00
Moritz Becker 19af434b21 HHH-13201 - do not set empty text on collection join parent without queryable collection 2020-09-03 08:42:15 +02:00
Nathan Xu 162bc7d9dd HHH-14113 Entity Graph attribute resolution not based on selected entity 2020-09-01 20:20:54 +02:00
Andrea Boriero e8b6bbbef4 HHH-14178 Fix Hana test failures 2020-09-01 14:50:24 +01:00
Andrea Boriero efa7e66c73 HHH-14178 Fix oracle test failures 2020-09-01 11:27:02 +01:00
Nathan Xu 90be61210c HHH-11877 wrap CompoundPredicate's expression list 2020-08-31 16:17:32 +02:00
Nathan Xu e1ff70519a HHH-14178 Fix the issue collections visiting could be skipped (e.g., versioned entity) in AbstractSaveEventListener 2020-08-31 14:43:09 +02:00
Nathan Xu 41161f9fa9 HHH-13908 fix the issue MySQL's 'time' function issue in Criteria 2020-08-31 09:44:17 +02:00
Gavin King 5b9ec29ecb HHH-14153 refactoring after HHH-14153
- avoid use package-scoped instance felds
- remove copy/pasted code

Note: I don't hate package-scoped final fields, but I
know other folks tend to. So let's go with template
methods instead.
2020-08-27 09:53:22 +01:00
Gavin King 5daf440a6c HHH-14153 Make buildAppropriateStatementExecutor() protected
Hibernate Reactive might ultimately need to override
this method, though it doesn't right now.

Relates to HHH-14153.
2020-08-27 09:53:18 +01:00
Gavin King 5173071322 HHH-14153 add test
By NathanQingyangXu

See https://github.com/hibernate/hibernate-orm/pull/3508
2020-08-27 09:53:18 +01:00
Gavin King 423697026d HHH-14153 further optimization for single-table HQL update
This extends the optimization for single-table HQL bulk
updates to the case where the where clause touches multiple
tables and we can use a subselect to collect the ids that
we need to update.
2020-08-27 09:53:18 +01:00
Gavin King 264e71a916 HHH-14153 clean up BasicExecutor and friends
introduces InsertExecutor and UpdateExecutor since we're
going to be introducing specific optimizations relating
to single-table updates

relates to HHH-14153
2020-08-27 09:52:40 +01:00
Gavin King d1119d320a HHH-14153 optimize away temp table for single-table HQL update
When a HQL bulk update query only touches a single table,
use BasicExecutor instead of MultiTableUpdateExecutor.

This is an alternate implementation to the one proposed by
@NathanQingyangXu in #3508 and loosely based on that work.
2020-08-27 00:12:07 +02:00
Sanne Grinovero 59d40c3bf5 HHH-14193 MultipleLinesSqlCommandExtractor should tolerate empty input scripts 2020-08-26 22:29:07 +01:00
Steve Ebersole b9fcc63d84 HHH-14152 sql-script.g fix for antlr non deterministic warning
- Added "system"-style SqlScriptLogging
- Added rule trace logging through SqlScriptLogging
2020-08-26 08:56:19 -05:00
Andrea Boriero fe4a94d90c HHH-14152 sql-script.g fix for antlr non deterministic warning 2020-08-26 08:56:19 -05:00
Sanne Grinovero 28787bc013 HHH-14190 Method StringHelper#moveAndToBeginning could benefit from using the improved helper too 2020-08-26 12:46:12 +01:00
Sanne Grinovero 03a1bb5ac8 HHH-14190 Improve efficiency of StringHelper#isBlank 2020-08-26 12:44:05 +01:00
Gavin King 9c6805fdd3 HHH-14190 Rename isEmptyOrWhitespace() to isBlank()
and use it in more places
2020-08-26 12:44:01 +01:00
Andrea Boriero beabfecb3e HHH-14187 Lazy loading fails if an entity appears twice in the object graph when enhancement as proxy is enabled 2020-08-26 12:24:04 +02:00
Andrea Boriero dbca6a2291 HHH-14187 Add test for issue 2020-08-26 12:24:04 +02:00
Gavin King 9ded66b90f HHH-14181 Fix bug where HQL update/delete query resulted in same table being updated twice
for HQL bulk update/delete against union-subclass mapping

also clean up iterator usage in that section of code
2020-08-24 21:03:36 +01:00
Falko Modler e3063f4858 HHH-14179 fix MultiLineImportExtractorTest on Windows 2020-08-24 20:25:17 +01:00
Gavin King bb5a47086d HHH-14183 LocalTimeJavaDescriptor attempts casting to LocalDate 2020-08-24 19:20:21 +01:00
Jezza 153817f426 HHH-14175 StatefulPersistenceContext#getLoadedCollectionOwnerOrNull could NPE on missing CollectionEntry
Avoids NPE, as the collection entry could not exist.
2020-08-21 11:09:08 +01:00
Gavin King 5ecf45020f expose some private fields via getters for Hibernate Reactive
needed for https://github.com/hibernate/hibernate-reactive/issues/237
2020-08-20 09:30:14 -05:00
Guillaume Smet fe74ad4270 HHH-14160 Use a runtime used class for testing Bean Validation presence 2020-08-20 15:27:08 +01:00
Nathan Xu c778ccb3da HHH-14154 Incorrect SQL generated from Criteria API when concat() and function() methods are used together 2020-08-20 15:36:54 +02:00
Nathan Xu 2ab372027e HHH-14153 reserve end-of-line chars in MultiLineImportExtractor 2020-08-19 12:12:40 +02:00
Christian Beikov e1b821c6fb HHH-14156 - handle all H2 versions properly regarding tuple in subquery syntax 2020-08-18 12:50:48 +02:00
Nathan Xu be64851fee HHH-14156 IN subquery predicate with entity aliases produces wrong SQL "too few columns in subquery" 2020-08-18 12:50:48 +02:00
Nathan Xu 00d9c12f05 HHH-3326 fix temp table collation issue for SQLServer dialect 2020-08-17 15:04:48 +02:00
Sanne Grinovero fe3f27a733 HHH-14149 Improve efficiency of LazyAttributesMetadata#getLazyAttributeNames 2020-08-12 11:28:39 +02:00
Jay Paulsen cd7823a549 HHH-13380 Test for the issue 2020-08-12 10:20:27 +02:00
Sanne Grinovero 1d51898202 HHH-13380 Bytecode enhanced entities might throw LazyInitializationException from custom equals/hashcode implementations
Apparently we trigger the need to invoke equals/hashcode methods on managed entities just before the Session is attached to the BytecodeLazyAttributeInterceptor
2020-08-12 10:20:18 +02:00
Andrea Boriero 509db7cc79 HHH-14126 Add CockroachDB to DefaultDialectSelector and update documentation to mention the new dialect 2020-08-10 15:20:53 +02:00
Oliver Breidenbach e8f310a659 HHH-14109 Use 'in expression count limit' if calculated count is greather than 'in expression count limit' 2020-08-10 13:04:23 +02:00
Andrea Boriero a229590345 HHH-14129 Bidirectional relationship with @NotNull fails to save 2020-08-10 12:08:54 +02:00
Andrea Boriero 358f713700 HHH-14129 Add test for issue 2020-08-10 12:08:54 +02:00
Sanne Grinovero 212ba0fb33 HHH-14143 Detect illegal concurrent usage of LogicalConnectionManagedImpl 2020-08-10 11:57:16 +02:00
Gavin King 5ec07faffd HHH-14142 Make constructor of StatelessSessionImpl public
needed by Hibernate Reactive, see:

https://github.com/hibernate/hibernate-reactive/pull/310
https://hibernate.atlassian.net/browse/HHH-14142
2020-08-09 08:50:22 +02:00
Sanne Grinovero 6da11f4c2a HHH-14137 Some more string check performnance optimisations 2020-08-06 18:22:25 +02:00
Sanne Grinovero 5d4e7d0927 HHH-13974 Test efficiency improvements 2020-08-06 17:17:10 +02:00
Michael Spahn d19bb536ef HHH-13974 FlushMode set through SessionBuilder was never applied 2020-08-06 17:17:10 +02:00
Ihar Sadounikau 0ee25a416d HHH-14137 Empty String check performance improvements 2020-08-06 17:14:33 +02:00
Yoann Rodière 9323d426f1 HHH-14124 Test that the FETCH entitygraph semantic overrides EAGER associations to LAZY for all results 2020-07-30 13:34:41 +01:00
Yoann Rodière 1d965227c4 HHH-14124 Test that the FETCH entitygraph semantic overrides EAGER associations to LAZY 2020-07-30 13:34:41 +01:00
Yoann Rodière 6f6874b8cf HHH-14124 Avoid too many list allocations when hydrating query results
I suspect the original goal of having a single list of hydrated objects
for all rows was to avoid instantiating one list per row, but we did
just that in the fix in the last commit.

This introduces a hack to signal that we're starting to process a new
row while still keeping a flat, single-list structure: we inserting
null elements in the list of hydrated objects.

This is admittedly very ugly, but it's the only solution I can come up
with if we want to keep the number of memory allocations similar to what
we used to have. And hopefully this code will disappear in ORM 6.0.
2020-07-30 13:34:41 +01:00
Yoann Rodière bc26c564a4 HHH-14124 Work around side-effects of TwoPhaseLoad.initializeEntity 2020-07-30 13:34:41 +01:00
Oliver Saggau 20273b81ee HHH-14071 Add test cases for issue 2020-07-27 13:11:56 +01:00
Oliver Saggau f8fe50ad09 HHH-14071 Fix binding for FetchProfile for OneToOne(mappedBy=...) associations 2020-07-27 13:11:39 +01:00
Andrea Boriero e60299c440 HHH-13724 Fix failing tests 2020-07-27 12:49:40 +01:00
Andrea Boriero 0b1072a8a4 HHH-13724 CriteriaLiteralWithSingleQuoteTest#testLiteralProjectionAndGroupBy add @SkipForDialect for CockroachDB Dialect 2020-07-27 12:49:40 +01:00
Rafi Shamim 4655bdbe12 HHH-13724 Add CockroachDB dialects and configs for testing 2020-07-27 12:49:40 +01:00
Andrea Boriero 4df7986108 HHH-13410 - Fix Oracle failing test 2020-07-27 11:05:36 +01:00
Nathan Xu 636ef89fcf HHH-14116 Exception when fetch joining a non-collection when selecting non-query-root 2020-07-26 15:10:26 +02:00
Gail Badner 3e07791683 HHH-14112 : Invalid Pagination COUNT query generated with @Inheritance(strategy = InheritanceType.JOINED) 2020-07-24 08:59:41 +02:00
Gail Badner fb40f8edc0 HHH-14103 : Add test cases showing that an entity's transient attribute can be overridden to be persistent in entity subclasses 2020-07-21 17:32:19 -07:00
Gittenburg ff7aa5328f HHH-14041 - H2Dialect: fix referential integrity constraint constraint name extraction 2020-07-21 20:27:33 +02:00
gajendra.jatav bfef0df089 HHH-13410 Adding test case 2020-07-21 18:31:35 +02:00
gajendra.jatav faf3928043 HHH-13410 Option "order_inserts = true" causes FK Violation when inserting with a Unidirectional Relations between 4 Entities 2020-07-21 18:30:32 +02:00
katiforis f1243a3285 HHH-14093 Make StatefulPersistenceContext#registerInsertedKey and StatefulPersistenceContext#wasInsertedDuringTransaction use HashSet instead of ArrayList 2020-07-21 17:38:54 +02:00
Sanne Grinovero 677a65a8cf HHH-13926 Test for the issue 2020-07-21 14:38:42 +02:00
Sanne Grinovero c8fabbb2b0 HHH-13926 Remove no longer used parameters 2020-07-21 14:38:37 +02:00
Sanne Grinovero 3a2283335e HHH-13926 Propagate the original SQL to the Expectation so it can be logged 2020-07-21 14:38:33 +02:00
Sanne Grinovero 6c787d27bd HHH-13926 Extract JdbcObserver lookup from the batching loop 2020-07-21 14:38:26 +02:00
Gail Badner 06c78087ff HHH-12268 : LazyInitializationException thrown from lazy collection when batch fetching enabled and owning entity refreshed with lock 2020-07-16 10:55:07 -07:00
Gail Badner f5d710b97d HHH-12268 : Added test case 2020-07-16 10:55:07 -07:00
Andrea Boriero 673d3600b8 HHH-14108 PADDED and DYNAMIC Batch loading strategies not compatible with the Enhanced Proxy feature 2020-07-16 16:52:25 +01:00
Andrea Boriero 538689bcd4 HHH-14108 Add test for issue 2020-07-16 16:52:25 +01:00
Andrea Boriero 295eb870a3 HHH-13214 Delete re-firing SQL from previous calls 2020-07-14 21:03:53 +01:00
Andrea Boriero 3fcd4a00a2 HHH-13214 Delete re-firing SQL from previous calls 2020-07-14 15:57:20 +01:00
lining b2ab0b7c71 HHH-13214 Delete re-firing SQL from previous calls 2020-07-14 15:57:20 +01:00
Jens Borrmann 3159c8ff78 HHH-14106 - Return entry from `#parentsByChild` in `StateFulPersistenceContext#getParentsByChild` 2020-07-14 08:34:15 -05:00
Xavier Dury 007f609210 HHH-13931 MissingFormatArgumentException in JpaCompliantLifecycleStrategy.BeanImpl 2020-07-11 10:44:56 +01:00
Nathan Xu 5952c0abc3 HHH-14097 fix bug that redundant SQLs might be issued for 'FETCH' entity graph 2020-07-09 14:08:30 +01:00
Sanne Grinovero 1683bbe900 HHH-14096 Moving the XMLHelper from ORM core into testsuite helpers 2020-07-07 09:37:47 +01:00
Sanne Grinovero 92da3842c8 HHH-14096 Remove unused import for deprecated type XmlDocument and dom4j 2020-07-07 09:37:47 +01:00
yuanhang zheng d1b44560ed HHH-14059 Cannot use full qualified enum name which has two uppercase alphabet prefix 2020-07-06 12:33:41 +01:00
Lefteris Katiforis 4b3171c7e1 HHH-14021 - Add Java Type byte to JDBC Type TINYINT mapping as described in specification in TABLE B-2. 2020-07-06 10:27:51 +01:00
Falko Modler c44150d0d6 HHH-14023 H2Dialect: adjust NUMERIC, DECIMAL & VARBINARY for 1.4.201+ 2020-06-22 11:22:27 +01:00
Falko Modler b44b20ba11 HHH-14023 H2Dialect: SequenceInformationExtractorLegacyImpl for 1.4.201+ 2020-06-22 11:22:27 +01:00
Gail Badner 467203e8c4 HHH-14075 : Changes to loaders and TwoPhaseLoad to allow "internal" loading to be reused by hibernate-reactive 2020-06-22 10:03:34 +01:00
Andrea Boriero 9756b0fba8 HHH-14077 PostgreSQL, skip testLiteralProjectionAndGroupBy (PostgreSQL does not support literals in group by statement) 2020-06-19 17:52:20 +01:00
Andrea Boriero bb9233472b HHH-14081 CompositeIdFkGeneratedValueIdentityTest and CompositeIdFkGeneratedValueTest failures on Oracle db 2020-06-19 14:41:15 +01:00
Gail Badner 3f3c1ab506 HHH-14077 : CVE-2019-14900 SQL injection issue using JPA Criteria API 2020-06-18 12:13:22 -07:00
Gail Badner c1771040c7 HHH-14077 : Added test case 2020-06-18 11:49:09 -07:00
Martin Vietz 180656e9f3 HHH-14064 - Fix documentation for schema-generation 2020-06-09 14:38:55 +01:00
Réda Housni Alaoui 5963dc7fe8 HHH-13980 NullPointerException on AbstractEntityGraphVisitationStrategy.startingCollectionIndex 2020-05-31 07:50:49 -05:00
Gail Badner 6df82bb6a6 HHH-14044 : Extract code from Loader into protected methods 2020-05-29 10:27:37 +01:00
Hannes Rosenögger b9703e33d4 HHH-14022 Revert HHH-13322 Fix Oracle dialect's introduced in 5.4.13 that is causing issues with sequence increment determination 2020-05-29 10:12:34 +01:00
Jason Pyeron 0804de87b4 HHH-10956 reduced runtime complexity, added Component.getProperty(int)
Component.getProperty(String) was looping and comparing, but we already now the position of the property
2020-05-29 08:32:18 +01:00
Andrea Boriero 2db3ce2643 HHH-10956 an exception has to thrown when the composite key is an association and its value is null 2020-05-29 08:32:18 +01:00
Andrea Boriero 114e16f64f HHH-10956 Add additional test 2020-05-29 08:32:18 +01:00
Andrea Boriero cfcd2ac40f HHH-10956 Moved tests using GenerationType#IDENTITY into another class annotated with @RequiresDialectFeature(DialectChecks.SupportsIdentityColumns.class) 2020-05-29 08:32:18 +01:00
Jason Pyeron 42b38b60cf HHH-10956 put one line if in {} 2020-05-29 08:32:18 +01:00
Jason Pyeron e37a8da568 HHH-10956 added more complext tests with self referential FK
* known issue: HHH-13971, test marked as @Ignore
* added some output debugging to help developers review CI/CD logs
* 8 tests, 1 ignored, 0.745s duration
2020-05-29 08:32:18 +01:00
Jason Pyeron e42fe94f65 HHH-10956 fixed failed insertion with IdClass with partial identifier generation
* regression introduced by HHH-4848
* AbstractEntityTuplizer lines 179 and 311 formatting issues, preserved
* bug HHH-9662 blocks testing of Identity insertion
2020-05-29 08:32:18 +01:00
Jason Pyeron da2b24b598 HHH-10956 created test cases IdClass with partial identifier generatiod, all marked @FailureExpected 2020-05-29 08:32:18 +01:00
Andrea Boriero 58fe82e730 Revert "HHH-14022 Oracle-Dialect does not find Sequences outside User-Schema"
This reverts commit ca0ae9bfad.
2020-05-29 07:42:39 +01:00
varun.shrivastava ca0ae9bfad HHH-14022 Oracle-Dialect does not find Sequences outside User-Schema 2020-05-29 07:01:22 +01:00
Sanne Grinovero c013ae12b7 HHH-14047 Expose some methods of EntityManagerFactoryBuilderImpl to extensions 2020-05-28 20:49:25 +01:00
Sanne Grinovero 76e305ba75 HHH-14047 Allow customization of the StandardServiceRegistryBuilder by extending the EntityManagerFactoryBuilderImpl 2020-05-28 20:49:25 +01:00
Sanne Grinovero d7373a86bb HHH-14046 Allow customizing the type of SessionFactory by changing the initial ServiceInitiator list 2020-05-28 20:49:25 +01:00
Andrea Boriero 2baa5fccdc HHH-13959 Add nullability and uniqueness for @OneToOne with @JoinTable 2020-05-28 18:39:16 +01:00
Andrea Boriero 038b3ce487 HHH-13959 Add test for issue 2020-05-28 18:39:16 +01:00
gavinking 1d2d67677f HHH-14049 AbstractEntityPersister make three private methods protected for use in Hibernate Reactive 2020-05-28 18:27:42 +01:00
gavinking b5edf6cabe HHH-14048 Expose lazy property fetching to Hibernate reactive 2020-05-28 18:20:42 +01:00
gavinking 17152bfbba expose a private field to Hibernate Reactive
needed to support Criteria queries
2020-05-26 08:04:40 +01:00
Steve Ebersole 50a5da07c1 HHH-14033 - SQL script parsing problem with multi-line comments
- Better handling of multi-line comments
- Restructured some internal classes to consolidate packages
- Added "system"-style SchemaToolingLogging

This commit:

- removed some temporary logging
- better comments in parsers
2020-05-20 07:13:41 -05:00
Steve Ebersole 7dfb0fdf24 HHH-14033 - SQL script parsing problem with multi-line comments
- Better handling of multi-line comments
- Restructured some internal classes to consolidate packages
- Added "system"-style SchemaToolingLogging

This commit:

- unifies handling of Antlr `-traceParser` across parsers
- adds comment crediting to Terrance Parr for the BLOCK_COMMENT lexer rule in the sql-script grammar
2020-05-20 07:02:20 -05:00
Steve Ebersole b658e903d7 HHH-14033 - SQL script parsing problem with multi-line comments
- Better handling of multi-line comments
- Restructured some internal classes to consolidate packages
- Added "system"-style SchemaToolingLogging
2020-05-19 12:25:34 -05:00
Andrea Boriero 084f713949 HHH-13179 Fix license header 2020-05-18 18:42:31 +01:00
Davide D'Alto e28d77ac33 Revert "HHH-13997 Use functions for the creation of ActionQueue and PersistenceContext"
This reverts commit 00acb1f213.
2020-05-18 15:08:45 +01:00
Davide D'Alto 00acb1f213 HHH-13997 Use functions for the creation of ActionQueue and PersistenceContext 2020-05-18 14:31:53 +01:00
Davide D'Alto 9cd2236fd3 HHH-13997 : Add methods to SessionImpl and StatefulPersistenceContext; make Loader method protected
* Change visibility for Loader#registerNonExists
* Methods for creating PersistenceContext and ActionQueue
* Add StatefulPersistenceContext#initializeNonLazyCollections(Consumer<PersistentCollection> initializeAction)
2020-05-18 14:31:53 +01:00
Sanne Grinovero 2d7022ecec HHH-14029 Generally improve handling of all post-load events 2020-05-18 14:15:34 +01:00
Sanne Grinovero b08ae4cd14 HHH-14029 Improve 2LC post-load event invocations 2020-05-18 14:15:15 +01:00
Lars Karlström 02c3cc9e2e HHH-13179 Fixed code formatting issue 2020-05-18 07:51:57 -05:00
Lars Karlström 4413433ace HHH-13179 Subclass 2nd level caching now works for XML mappings 2020-05-18 07:51:57 -05:00
Davide D'Alto 88a712bab7 HHH-14024 Fix NativeSQLQueryPlanEqualsTest compilation error 2020-05-18 12:53:12 +01:00
gavinking 92b559abda HHH-14024 add QueryPlanCreator functional interface
simplifies customization of HQLQueryPlan instantiation
2020-05-18 06:47:34 -05:00
Davide D'Alto 4a7f9ec0d6 HHH-14026 Change scope to protected for SessionImple#verifyImmutableEntityUpdate 2020-05-18 06:47:34 -05:00
Davide D'Alto 9fd9c0533d HHH-14025 Add method to return the query statements for update queries 2020-05-18 06:47:34 -05:00
Davide D'Alto 42acc81067 HHH-14028 Change scope of various private methods to protected
So that Hibernate Reactive can reuse them.
2020-05-18 06:47:34 -05:00
Davide D'Alto 0633559f9f HHH-14024 Allow the creation of a different QueryPlanCache 2020-05-18 06:47:34 -05:00
Davide D'Alto d914c8aabc HHH-14027 Allow the creation of a different QueryLoader 2020-05-18 06:47:34 -05:00
Davide D'Alto 5968044118 HHH-14024 Allow the creation of a different QueryPlan 2020-05-18 06:47:34 -05:00
Sanne Grinovero e23dad19ca HHH-14019 Adding some comments to the new SPI 2020-05-13 22:29:41 +01:00
gavinking 137c524a14 HHH-14019 Allow customizing the Database target in the Schema Management tool
Add an API allowing Hibernate Reactive to plug in to schema export:
we've decided that HR should not use JDBC for schema export
2020-05-13 22:25:25 +01:00
Sanne Grinovero cb4909a5e1 HHH-14004 Attempt to load from 2LC when initializing an Enhanced Proxy 2020-05-13 21:33:01 +01:00
Sanne Grinovero 947dda618e HHH-14004 Test for Cacheable Enhanced Proxies 2020-05-13 21:33:01 +01:00
Andrea Boriero 0e1713a3a0 HHH-13936 Add additional test 2020-05-12 10:55:39 +01:00
Jonathan Bregler fa4ead1baa HHH-13996: Update documentation for HANA Cloud 2020-05-11 22:39:04 +01:00
Yoann Rodière 1a28fd419e HHH-14006 Test extended bytecode enhancement for mapped superclasses and entity superclasses 2020-05-11 22:15:14 +01:00
Yoann Rodière 5c5b347614 HHH-14006 Take inherited fields into account in extended bytecode enhancement 2020-05-11 22:15:14 +01:00
Sanne Grinovero bc12eee661 Revert "HHH-13950 Update to Bean Validation 3 preview: Hibernate Validator 7.0.0.Alpha1"
This reverts commit b9a24f458c.
2020-05-11 18:00:20 +01:00
Sanne Grinovero 6dd7d09ba0 Revert "HHH-13950 Apply the mass replace script to switch to Jakarta Validation API"
This reverts commit 60abc8aa76.
2020-05-11 18:00:07 +01:00
michiel.hendriks 585ca8e2bf HHH-13936 Call pulseTransactionCoordinator before checking for transaction in flush() 2020-05-11 16:01:43 +01:00
Sanne Grinovero 2c12ca401d HHH-13995 Remove dead code from StandardBasicTypes 2020-04-30 19:20:23 +01:00
Sanne Grinovero 922ec04422 HHH-13994 Bootstrap analysis: avoid initializing unused JtaPlatform classes 2020-04-30 19:20:23 +01:00
Sanne Grinovero 49405effce HHH-13993 Bootstrap analysis: avoid initializing many Dialect classes 2020-04-30 19:20:22 +01:00
Sanne Grinovero 41cd5ab359 HHH-13976 Some javadoc clarifications and code style adjustments 2020-04-30 14:43:33 +01:00
barreiro 4d0bd0f080 HHH-13976 Introduce BEFORE_TRANSACTION_COMPLETION release mode 2020-04-30 14:43:27 +01:00
Andrea Boriero 250160d923 HHH-13986 Fix test failure on MariaDB 2020-04-29 11:12:35 +01:00
Andrea Boriero 859ffb608a HHH-13986 SequenceHiLoGeneratorNoIncrementTest is not testing the right Optimiser 2020-04-28 17:48:28 +01:00
Steve Ebersole 08bf2bb906 HHH-13890 : Add support for custom EventType and listeners - EventEngine 2020-04-22 13:26:22 -05:00
Panagiotis Sotiropoulos 55e54795c3 HHH-13960 Add SAXReader sec features to match the defaults 2020-04-21 10:49:59 +01:00
Sanne Grinovero 60abc8aa76 HHH-13950 Apply the mass replace script to switch to Jakarta Validation API
For reference, this is the script being applied:
find . -type f -name '*\..java' -o -name '*.\.adoc' -o -name '*.\.gradle' | xargs sed -i 's/javax\.validation/jakarta\.validation/g'
2020-04-20 12:16:36 +01:00
Sanne Grinovero b9a24f458c HHH-13950 Update to Bean Validation 3 preview: Hibernate Validator 7.0.0.Alpha1
We apply the update int two steps:
 - some hand-rolled changes, such as switching the dependency to the new Hibernate Validator preview build
 - running a replace-all scripts

This individual commit represents the first set of changes.
When porting this change to a different branch, this one should be cherry picked while the second change
is better ported by running the same script once again.
2020-04-20 12:14:24 +01:00
Sanne Grinovero 3f2a4947a7 HHH-13952 Remove dependency to Arquillian as its no longer used 2020-04-17 14:27:19 +01:00
Sanne Grinovero 1aa2e858ba HHH-13952 Remove all WildFly based integration tests 2020-04-17 14:27:19 +01:00
Sanne Grinovero 2b279c6a83 HHH-13952 Remove our ability to build the Wildfly feature pack and run integration tests on WildFly 2020-04-17 14:27:19 +01:00
Jonathan Bregler 95c9526dda HHH-13917: Add support for HANA Cloud 2020-04-17 13:30:38 +01:00
Gail Badner 4741fa4f33 HHH-11903 : @OneToOne Derived ID is null when returned by query when bidirectional 2020-04-16 14:29:58 -07:00
Steve Ebersole 2ddf58907e HHH-13948 - EnhancedSetterImpl should define writeReplace 2020-04-16 14:48:07 +01:00
Gail Badner 2a4c10a663 HHH-13890 Add support for custom event types and listeners 2020-04-16 14:12:44 +01:00
Yoann Rodière 1060baf74b HHH-13682 Enable extended bytecode enhancement in NaturalIdInUninitializedAssociationTest
This test accesses a field of an entity directly and expects it to be
automatically initialized; this cannot work without extended bytecode
enhancement.

This used to work with Java 8 bytecode, but only by chance. It seems
that Java 8 bytecode relies on "synthetic", static access methods
inserted by the compiler to access the fields of entities in this test:
any access to the field is done through this access method instead of
through a direct field access. Since we apply bytecode enhancement to
all methods of entities, this means that access to fields triggers
initialization, without any bytecode enhancement in the caller class.

I believe this is specific to nested classes, but couldn't find a
source. For reference, the bytecode of access methods looks like this:

  static int access$002(org.hibernate.test.bytecode.enhancement.lazy.NaturalIdInUninitializedAssociationTest$AnEntity, int);
    Code:
       0: aload_0
       1: iload_1
       2: dup_x1
       3: putfield      #3                  // Field id:I
       6: ireturn

  static org.hibernate.test.bytecode.enhancement.lazy.NaturalIdInUninitializedAssociationTest$EntityImmutableNaturalId access$102(org.hibernate.test.bytecode.enhancement.lazy.NaturalIdInUninitializedAssociationTest$AnEntity, org.hibernate.test.bytecode.enhancement.lazy.NaturalIdInUninitializedAssociationTest$EntityImmutableNaturalId);
    Code:
       0: aload_0
       1: aload_1
       2: dup_x1
       3: putfield      #2                  // Field entityImmutableNaturalId:Lorg/hibernate/test/bytecode/enhancement/lazy/NaturalIdInUninitializedAssociationTest$EntityImmutableNaturalId;
       6: areturn

With Java 11, however, access to fields of entities is done directly,
even for nested classes. So the access methods no longer exist, and we
don't get automatic initialization upon field access. We need extended
bytecode enhancement, like we would in any other case of field access
(in particular accessing fields of non-nested classes).
2020-04-14 13:36:43 +01:00