Commit Graph

5574 Commits

Author SHA1 Message Date
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