Commit Graph

5728 Commits

Author SHA1 Message Date
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
Andrea Boriero b897a36f2f Fix issue with generated pom missing project description 2020-04-06 18:21:11 +01:00
Sanne Grinovero 6ea9844874 HHH-13935 Allow subclasses of StandardServiceRegistryBuilder to initialize a custom list of StandardServiceInitiator(s) 2020-04-06 16:10:44 +01:00
Yoann Rodière bee15c498f HHH-13925 Fix malformed @author tags in javadoc
You're not supposed to use unescaped "<" or ">".

This wasn't detected by checkstyle in Gradle 5, but it is now, and that
fails the build.
2020-04-06 16:04:55 +02:00
Yoann Rodière aebf9d192f HHH-13925 Fix invalid javadoc syntax
This wasn't detected by checkstyle in Gradle 5, but it is now, and that
fails the build.
2020-04-06 16:04:55 +02:00
Sanne Grinovero e1aa8714c0 HHH-13930 Minor formatting improvements and comments 2020-04-05 23:07:39 +01:00
Stuart Douglas 0955394c82 HHH-13930 Allow for creation of unloaded proxies in ByteBuddyProxyHelper 2020-04-05 23:07:22 +01:00
Sanne Grinovero a975d0de19 HHH-13929 Add test coverage using PersistenceUtilHelper within exising test for Enhanced Proxies 2020-04-05 22:26:34 +01:00
Sanne Grinovero 2ac0d2ee91 HHH-13929 Improve the PersistenceUtilHelper to allow dealing with Enhanced Proxies 2020-04-05 22:26:31 +01:00
Yoann Rodière 2f32169249 HHH-13689 Replace uses of the deprecated osgi plugin with the biz.aQute.bnd plugin
https://docs.gradle.org/5.0-milestone-1/release-notes.html#deprecated-osgi-plugin
2020-04-01 10:54:56 -05:00
Yoann Rodière cee0fce043 HHH-13685 Replace uses of deprecated classifier property in Jar tasks with archiveClassifier 2020-04-01 09:53:13 -05:00
Nathan Xu 5f83662226 HHH-13889 fix the issue that inline string literal in Criteria is not escaped 2020-04-01 13:29:55 +01:00
Gail Badner e1d2aecef7 HHH-13910 : MySQL57Dialect selected by automatic dialect resolution when using MySQL 8.0 database 2020-03-26 21:02:44 -07:00
Gail Badner caded6cd40 HHH-13910 : Added and corrected tests 2020-03-26 20:59:55 -07:00
Gail Badner a54d657d98 HHH-13891 : ProxyFactory should not be built if any ID or property getter/setter methods are final 2020-03-25 18:36:05 -07:00
Gail Badner 3427bc8414 HHH-13891 : Added test 2020-03-25 18:36:05 -07:00
romainmoreau b5443deab3 Drop constraints using CASCADE
Co-Authored-By: William Cekan <wcekan@oath.com>
2020-03-19 13:58:26 -05:00
Romain Moreau b35ccc8e37 HHH-13711: drop constraints enabled for H2 2020-03-19 13:58:26 -05:00
Sanne Grinovero 486addab0c HHH-13897 ResultSetProcessingContextImpl: no need to clear collections before discarding the reference to them 2020-03-19 11:51:59 +00:00
Gail Badner 8c6f8025e3 HHH-13619 - Support for JPA's `size` function as a select expression
- Fix to work on Oracle by removing "as" between table name and alias
2020-03-12 14:42:11 -07:00
Steve Ebersole 26ab3c5362 HHH-13619 - Support for JPA's `size` function as a select expression
- PR revisions
2020-03-05 09:58:35 -06:00
Steve Ebersole 336c3b9e30 HHH-13619 - Support for JPA's `size` function as a select expression
- code cleanup
2020-03-04 12:37:37 -06:00
Steve Ebersole 692f19c83f HHH-13619 - Support for JPA's `size` function as a select expression
- initial support
2020-03-04 12:37:37 -06:00
Gail Badner 24cedfa6ec HHH-13619 : test cases 2020-03-04 12:36:24 -06:00
Andrea Boriero 5bf772c59d HHH-13322 Fix test 2020-03-02 11:48:54 +00:00
Nathan Xu 188c05cc33 HHH-13322 Fix Oracle dialect's 'getQuerySequencesString()' issue by limiting to current schema 2020-03-02 10:31:18 +00:00
Sanne Grinovero b856d534cb HHH-13876 Remove unused code from StandardStack 2020-02-26 09:59:23 +00:00
Sanne Grinovero e65ef1354c HHH-13876 Delete the immutable SingletonStack implementation as its no longer used 2020-02-26 09:44:17 +00:00
Sanne Grinovero 90c669108b HHH-13876 Remove method Stack#getPrevious as its unused and contains a bug 2020-02-26 09:42:06 +00:00
Davide D'Alto 4e58006f10 HHH-13878 Make some private methods in Loader protected
This way we can reduce the amount of copy and paste in Hibernate Rx.
2020-02-26 09:35:44 +00:00
Davide D'Alto fe52328ab6 HHH-13878 Remove final from SessionImpl#internalLoad
In Hibernate RX we need to override this method.
2020-02-26 09:35:44 +00:00
Vlad Mihalcea c76675f11a Changes according to PR review. Requires rebase! 2020-02-25 11:46:13 -06:00
Vlad Mihalcea c7aaf31cbe HHH-13879 - Slow query log should use System#nanoTime not System#currentTimeMillis 2020-02-25 11:46:13 -06:00
Gail Badner a7261ad053 HHH-13875 : Optional one-to-one does not always join the associated entity table when querying 2020-02-24 12:28:22 -08:00
Gail Badner b060b21851 HHH-13875 : Added test cases 2020-02-24 12:28:22 -08:00
The Geeky Asian b914b02dca HHH-13874 - Removing the @author added.
The newly added @author in the previous commit or deprecation messages has been removed in this commit.
2020-02-21 06:11:37 -06:00
The Geeky Asian e98e89d806 HHH-13874 - Messages added for the deprecated methods. 2020-02-21 06:11:37 -06:00
The Geeky Asian c4bd5937e3 HHH-13874 - Deprecating methods that will be removed soon
Two methods that are dropped in v6.0 are now marked as deprecated in this commit.

As discussed in the removal PR https://github.com/hibernate/hibernate-orm/pull/3229
2020-02-21 06:11:37 -06:00
Nathan Xu e9df1cb626 HHH-13853 fix minor issue 2020-02-21 12:04:12 +00:00
Vlad Mihalcea d9a335c429 HHH-13872 - Make the Java Stream close the underlying ScrollableResultsIterator upon calling a terminal operation 2020-02-21 06:03:42 -06:00
w1ida 28b8cebf9d HHH-13873 IdTableHelper can skip opening a connection when there's no statements to execute 2020-02-20 15:15:59 +00:00
Steve Ebersole 1042f23bee HHH-13103 - Allow Hibernate Types to get access to the current configuration properties using constructor injection 2020-02-18 15:22:05 -06:00
Vlad Mihalcea c346171b23 HHH-13103 - Allow Hibernate Types to get access to the current configuration properties 2020-02-18 15:22:05 -06:00
Vlad Mihalcea 9084ce497e HHH-13853 - Pass the merged Integration settings and Persistence Unit properties to buildBootstrapServiceRegistry 2020-02-18 11:42:51 -06:00
Sanne Grinovero 760386d2cf HHH-13864 Cosmetic change of format when reporting version number 2020-02-13 16:41:01 +00:00
Andrea Boriero 2f2d30e4e5 HHH-13861 Expose the doWork() and doReturningWork() APIs on StatelessSession as well 2020-02-13 09:33:00 +00:00
Sanne Grinovero 2ed15445c6 HHH-13859 Removing unused import 2020-02-11 15:11:07 +00:00
Sanne Grinovero d3fdb657d6 HHH-13859 Avoid attempting to index a module-info.class via Jandex 2020-02-11 15:11:07 +00:00
Andrea Boriero 5defe54d31 HHH-13856 Fix Oracle failing tests 2020-02-10 14:52:32 +00:00
Sanne Grinovero 90b69ffc7d HHH-13854 Allow extensions of StandardServiceRegistryBuilder to ignore Environment variables 2020-02-07 16:55:02 +00:00
Sanne Grinovero 11b1623774 HHH-13804 Update comments in Environment to suggest the ability to inject an externally defined ProxyFactoryFactory instance 2020-02-07 13:41:29 +00:00
Sanne Grinovero 8043e49384 HHH-13851 Remove a dead code field from PojoEntityTuplizer 2020-02-07 13:28:41 +00:00
Sanne Grinovero 0964b881f7 HHH-13851 Rework initialization of ProxyFactoryFactory, allow some code reuse from SPI 2020-02-07 13:28:32 +00:00
Sanne Grinovero 52ca2703f3 HHH-13850 Clear the BytecodeProvider caches both after SessionFactory creation and stop 2020-02-07 13:22:37 +00:00
Sanne Grinovero 5c81089d65 HHH-13849 Convert BytecodeProvider into a Service as well 2020-02-07 13:21:13 +00:00
Sanne Grinovero e19acd5a9c HHH-13849 Convert ProxyFactoryFactory into a Service, scope it to SessionFactory 2020-02-07 13:21:10 +00:00
Frank Doherty 4b037cdf8f HHH-13792 evict entity cache after transaction has committed for read-write cache access strategy
- changed EntityReadWriteAccess to remove the no-op unlockRegion method (now uses the method inherited from
  AbstractCachedDomainDataAccess, which calls evictAll)

- changed AbstractReadWriteAccess to add a no-op removeAll method (as this is called by the constructor in
  BulkOperationCleanupAction.EntityCleanup, during the transaction)

- added new file ReadWriteCacheTest with some test scenarios:
  - testDeleteHQL/testDeleteNativeQuery/testUpdateHQL/testUpdateNativeQuery which confirm that the fix corrects the
    scenario where stale entities could be loaded into the cache and remain there (because the eviction was
    happening before the transaction had committed)
  - testDelete/testUpdate show that entity updates/deletions were not affected by this issue (only HQL/native queries)
2020-02-05 15:47:13 +01:00
Hyunjin Choi 07ffd63b3a Fix typos in AbstractEntityPersister's generateSQLDeletStrings() method
Fix typo.
2020-02-05 15:27:16 +01:00
Sanne Grinovero ddb810510c HHH-13838 Allow extension of PersistenceXmlParser 2020-01-31 18:32:24 +00:00
Nathan Xu 19e35b86cc HHH-13809 Various improvements in the user guidesw 2020-01-31 09:30:28 +00:00
Sanne Grinovero cc7c7d7ee3 HHH-13837 Initialize the Hibernate VERSION as a real constant 2020-01-30 22:05:36 +00:00
Sanne Grinovero 5f302c57a7 HHH-13831 Avoid log level check within complex loops 2020-01-30 22:05:36 +00:00
Davide D'Alto 4cd9dd30a0 HHH-13831 Rename test class to EventListenerDuplicationStrategyTest 2020-01-30 18:09:23 +01:00
Davide D'Alto 0268ba9a33 HHH-13831 Test listeners error replacement strategy 2020-01-30 18:09:23 +01:00
Davide D'Alto e38d2be431 HHH-13831 Test listener keep original replacement strategy 2020-01-30 18:09:23 +01:00
Davide D'Alto 6670d03493 HHH-13831 Add tests for multiple listeners
We want to test what happens when we apply a replacement strategy
  that doesn't match all listeners.
2020-01-30 18:09:23 +01:00
Davide D'Alto 695e3a084e HHH-13831 Clean up existing tests for listeners 2020-01-30 18:09:23 +01:00
Davide D'Alto 7bf632e5c5 HHH-13831 Fix the way we keep track of the callers in test 2020-01-30 18:09:23 +01:00
Davide D'Alto c0a2b4f424 HHH-13831 Add missing placeholder to log message 2020-01-30 18:09:23 +01:00
Steve Ebersole 0a2dd4e126 HHH-13831 Refresh listeners when one is replaced 2020-01-30 18:09:23 +01:00
Steve Ebersole 2f86c4983f HHH-13831 Refresh listeners when one is replaced 2020-01-30 18:09:23 +01:00
Davide D'Alto 739ca869af HHH-13831 Test for replacing listeners 2020-01-30 18:09:23 +01:00
Davide D'Alto 5c1cc35f98 HHH-13831 Refresh listeners when one is replaced 2020-01-30 18:09:23 +01:00
Sanne Grinovero f7aba3ea17 HHH-13833 Replace references to Opcodes.ASM7 with OpenedClassReader.ASM_API 2020-01-30 09:02:43 +00:00
Nathan Xu 3eb49972f3 HHH-8776 add more 'final' keywords to align with existing coding style 2020-01-29 20:52:33 +01:00
Nathan Xu d02ce91e9c HHH-8776 add testing cases to prove 'fetch graph' takes precedence over 'fetch profile' 2020-01-29 20:52:33 +01:00
Nathan Xu 29f905dafc HHH-8776 fix check style issue 2020-01-29 20:52:33 +01:00
Nathan Xu f3cfff5cee HHH-8776 fix 'fetch graph' semantic 2020-01-29 20:52:33 +01:00
Gwenneg Lepage a4ba766620 HHH-13833 Replace OpCodes.ASM5 with OpCodes.ASM7 in the Byte Buddy enhancer 2020-01-29 15:48:53 +00:00
Sanne Grinovero 252ca9e98b HHH-13832 Optimise setting of default Flush Mode on a newly created Session 2020-01-29 15:42:23 +00:00
Jonathan Bregler b178f9e23a HHH-13783: fix test failure in HiLoSequenceMismatchStrategyTest 2020-01-28 21:36:32 +01:00
Andrea Boriero b51d34a22d HHH-13796 Fix test failure on Oracle 2020-01-28 15:18:06 +00:00
Nathan Xu 9d2ac546f3 HHH-13677 make org.hibernate.flushMode config take effect 2020-01-28 08:14:39 +00:00
Nathan Xu a6934467f7 HHH-6686 fix JQL exception in face of 'empty' 2020-01-27 14:55:39 +00:00
Andrea Boriero f1d1e62478 HHH-10844 Fix test formatting 2020-01-27 13:42:34 +00:00
Jan-Willem Gmelig Meyling 85bfcc6e21 HHH-13796 - Missing from clause in query from BinaryLogicOperatorNode row value constructor translation
https://hibernate.atlassian.net/browse/HHH-13796
2020-01-27 13:40:44 +00:00
Andrea Boriero c5581e6759 HHH-13783 Fix test failing on Oracle 2020-01-27 12:10:15 +00:00
Nathan Xu 0c8e3056dc HHH-13783 avoid SequenceMismatchStrategy checking for non-pooled optimizer 2020-01-24 12:15:43 +00:00
Andrea Boriero 5844bbd85b HHH-12856 Reintroduce supportsLimitOffset for legacy OS400 2020-01-24 11:32:44 +00:00
Pierrick Rouxel 7b1d1a1f3a HHH-12856 Add AS400V7R3Dialect as default for V7R3 of IBM i 2020-01-24 11:29:01 +00:00
Pierrick Rouxel 1038a0c968 HHH-12856 Reintroduce limitation for legacy OS400 2020-01-24 11:29:01 +00:00
Pierrick Rouxel b204c95e0c HHH-12856 Fix sequences with liblist support 2020-01-24 11:29:01 +00:00
Pierrick Rouxel 4aea43bdb0 HHH-12856 Cleanup DB2400Dialect 2020-01-24 11:29:01 +00:00
Pierrick Rouxel 1c3b8a1c28 HHH-12856 Support of sequences on DB2400 2020-01-24 11:29:01 +00:00
Andrea Boriero d04a1fe3fd HHH-13373 Remove FailureExpected annotation from tests and assure tearDownDBs method is executed even if an error occurs in the setUpDBs method 2020-01-24 09:59:02 +00:00
Nathan Xu bc2aa159a1 HHH-13373 ensure testing code correctness by local testing 2020-01-23 11:06:34 +00:00
Nathan Xu 7beb96a2ab HHH-13373 add a testing case annotated with '@FailureExpected' annotation 2020-01-23 11:06:34 +00:00
Nathan Xu 8fb35947ff HHH-13373 fix the bug that 'different sequence names in differnt dbs' breaks SequenceInformationExtractorMariaDBDatabaseImpl 2020-01-23 11:06:34 +00:00
Antoine Reilles 4318349b4d Fix String format in log
Use %s in the log string format, to avoid java.util.UnknownFormatConversionException: Conversion = ']' when enabling debug logs.
2020-01-22 10:54:19 +00:00
Christian Beikov a2f7f59de4 HHH-13752 - Workaround id class issues like suggested by @jwgmeligmeyling 2020-01-21 15:24:43 +00:00
Christian Beikov 8f563fbd31 HHH-13752 - Test and fix deletion of entities with many-to-many assocations using non-primary keys for join table 2020-01-21 15:24:43 +00:00