Yanming Zhou
88acc9511b
HHH-14253 support ConstraintMode.PROVIDER_DEFAULT
...
Provide an option to skip foreign key creation for ConstraintMode.PROVIDER_DEFAULT
2020-10-14 09:20:17 +02:00
Jan Schatteman
8d4de09255
HHH-14241 Support ImplicitNamingStrategyComponentPathImpl with IdClass
...
Signed-off-by: Jan Schatteman <jschatte@redhat.com>
2020-10-09 13:24:17 +02:00
Fabio Massimo Ercoli
03416a8cdd
HHH-14241 Test ImplicitNamingStrategyComponentPathImpl with IdClass
2020-10-09 13:24:17 +02:00
Nathan Xu
3a88b1c6b2
HHH-14248 Other minor improvements to ActionQueue
2020-10-08 08:19:49 +01:00
Nathan Xu
c3e43ecd11
HHH-14248 Refactor latestBatches from InsertActionSorter's field to temporary variable in its sort method
2020-10-08 08:19:40 +01:00
Andrea Boriero
112d215371
HHH-14249 MultiLineImport fails when script contains blank spaces or tabs at the end of the last sql statement
2020-10-07 08:54:48 +01:00
Andrea Boriero
425ee2d3d5
HHH-14249 Add test for issue
2020-10-07 08:54:48 +01:00
Nathan Xu
05f47ce80b
HHH-14227 fix testing failure on Oracle
2020-10-06 08:56:38 +01:00
Nathan Xu
d045797aa7
HHH-14227 Add some more tests to cover order of batched insert executions
2020-10-05 13:40:08 +01:00
Nathan Xu
9de5e3e005
HHH-14227 Some additional typos and message improvements
2020-10-05 13:40:08 +01:00
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