10399 Commits

Author SHA1 Message Date
gavinking
a63d23f724 Use switch for consistency 2020-01-30 14:01:34 -06:00
gavinking
eb71ec395d Oracle doesn't recognize "as", so use the Dialect to decide 2020-01-30 14:01:34 -06:00
gavinking
5cae462f7a Let ClobTypeDescriptor handle Strings
Just like BlobTypeDescriptor can handle byte[] arrays
2020-01-30 14:01:34 -06:00
gavinking
3ab747517d Use OID instead of BYTEA for @Lob mappings on PostgreSQL 2020-01-30 14:01:34 -06:00
gavinking
c8f477c962 A couple of default properties went missing from the dialects 2020-01-30 14:01:34 -06:00
gavinking
4f5b37c9c4 Use SequenceSupport everywhere instead of deprecated methods of Dialect 2020-01-30 14:01:34 -06:00
gavinking
f6eaaca824 Fix up Dialect auto-detection
- make it work for DriverManagerConnectionProviderImpl
- improve logging and some confusing exceptions
- make it respect explicit database setting properties
2020-01-30 14:01:34 -06:00
gavinking
95930820af Support for timezones
- add TimestampWithTimeZoneDescriptor and use it in OffsetDateTimeJD
  and ZonedDateTimeJD
- add ZoneOffsetJavaDescriptor for ZoneOffset attributes
- clean up string rendering for temporal types using ISO formats;
  note that they do not need to implement objectToSQLString()
  since they cannot be discriminators

Note that at this time very few databases have meaningful support
for the ANSI-standard TIMESTAMP WITH TIME ZONE type. This limits
the usefulness of TimestampWithTimeZoneDescriptor for now.

Also add in some missing but needed type mappings for temporal types
2020-01-30 14:01:34 -06:00
gavinking
5a3838dfa6 Simplify the whole SqmFunctionDescriptor hierarchy
And make the various function implementations work in more common ways.

- remove some unnecessary flexibility
- simplify some function descriptors to do their work during render()
- fix generics of QueryLiteral
- fix DerbyConcatEmulation
2020-01-30 14:01:34 -06:00
gavinking
effec02964 Automatically generate check constraints for boolean and enum attributes
And make enums map to TINYINT by default.
2020-01-30 14:01:34 -06:00
gavinking
992b390fce Get type-specific column length/precision/scale defaulting working again
And fix resulting breakage to envers
2020-01-30 14:01:34 -06:00
gavinking
f0d93200b5 Add hibernate.dialect.show_hql_functions
Very useful feature for logging available functions
2020-01-30 14:01:34 -06:00
gavinking
96c948b06b Changes to tests
First, disable tests that fail because of loss of indirected parameter binding.
On the other branch, the index of a HQL parameter wasn't passed directly through
as the index of the JDBC parameter. On this branch it seems to be. This causes a
problem for fancy HQL functions like overlay() and pad() which sometimes
duplicate/reorder HQL arguments in the generated SQL.

Also reenable tests that now pass.

Also fixed a rather badly-written test that failed for me.

- called Thread.sleep(), wasting a whole second
- failed on non-slow machines
2020-01-30 14:01:34 -06:00
gavinking
5b18a4048d Make parenthesized expressions work in HQL
Previously, parenthesized expression were broken.
2020-01-30 14:01:34 -06:00
gavinking
95a291575e Hacky solution to make count(e) work again
(It wasn't working on the new 6 branch)
2020-01-30 14:01:34 -06:00
gavinking
28232427ce Got unary +, - working again
(They were unimplemented on the new 6 branch)
2020-01-30 14:01:34 -06:00
gavinking
9565d499af Big merge of my branch with new Hibernate 6 codebase
Lots of new functionality here related to HQL functions, SQL
dialects, and date/time handling.
2020-01-30 14:01:33 -06:00
Christian Beikov
89ebcfbc32 Allow to invoke list() operation also without unique filtering 2020-01-30 17:24:49 +01:00
Christian Beikov
7b064afbd3 Use type inference for every added when/otherwise arm for case expressions 2020-01-30 17:23:54 +01:00
Christian Beikov
1cd5ea61f6 Fix type inference for case expressions and simple case SQL rendering issue 2020-01-29 19:05:16 +01:00
Christian Beikov
f66728d5b2 Fix plural join alias de-reference 2020-01-29 17:51:13 +01:00
Christian Beikov
31377b1423 Register JPA embeddable types properly, allow access to functions in registry and fix AttributeClassifications 2020-01-29 17:51:13 +01:00
Andrea Boriero
98414b1a92 Fix compilation error after merge 2020-01-22 19:35:14 +00:00
Andrea Boriero
fd6866f029 Merge remote-tracking branch 'upstream/master' into wip/6.0_merge_22 2020-01-22 19:34:38 +00:00
Andrea Boriero
e889c76e49 Merge remote-tracking branch 'upstream/master' into wip/6.0_merge_21 2020-01-22 18:14:10 +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
gavinking
fa952863cf HHH-13823 Make it possible to reuse MergeContext in Hibernate RX.
Exposes the operations used by DefaultMergeEventListener
2020-01-21 13:00:26 +00:00
gavinking
e5f8341aa4 HHH-13823 Add setters for two of the properties of EntityIdentityInsertAction
This is needed by hibernate-rx.
2020-01-21 13:00:23 +00:00
gavinking
a0f9b1df00 HHH-13823 Make three private methods of SessionImpl visible to subclasses 2020-01-21 13:00:20 +00:00
gavinking
a2f21e12a4 HHH-13823 Expose members of some SQL construction classes to subclasses
Allows hibernate-rx to more easily customize bind variable syntax.
2020-01-21 13:00:17 +00:00
gavinking
12a8508e66 HHH-13823 Introduce an indirection when instantiating Insert/Update/Delete
This allows hibernate-rx to intervene in the rendering of bind variables
and use $n instead of ?
2020-01-21 13:00:15 +00:00
gavinking
96faae93b1 HHH-13823 Always generate lowercase column aliases
This change is needed by hibernate-rx as a workaround for behavior
of the Postgres client. But anyway I think it's cleaner.
2020-01-21 13:00:12 +00:00
gavinking
f59f0ce406 HHH-13823 Changes for Hibernate RX
Mostly just expose some operations and constructors that were previously inaccessible.
2020-01-21 13:00:02 +00:00
Sanne Grinovero
da019405b6 HHH-13821 Update to Byte Buddy 1.10.7 2020-01-21 12:22:46 +00:00
Sanne Grinovero
33fa24d935 HHH-13822 OSGi integration tests need to be able to download dependencies from Maven Central using HTTPS 2020-01-21 12:22:46 +00:00
marekchodak
bf473681e4 HHH-13780 Allow NamedQuery to set hint QueryHints.PASS_DISTINCT_THROUGH 2020-01-21 10:09:17 +00:00
Gail Badner
63a96e335e HHH-13814 : Add tests 2020-01-15 15:41:48 -08:00
Andrea Boriero
9643537262 Fix Polymorphic collection issue, remove unused code 2020-01-14 13:25:25 +00:00
Steve Ebersole
b23e5ba54a support for canonical reference to id and version. consider other entity parts - natural-id, tenant-discriminator, etc 2020-01-14 07:24:44 -06:00
Andrea Boriero
c2bb7d65f2 Fix Polymorphic collection issue 2020-01-14 08:14:49 +00:00
Steve Ebersole
0d024ffd59 - Fix error when null is value is bind to a query parameter
- fixed problem with id attributes not named `id`
2020-01-13 10:38:35 -06:00
Steve Ebersole
ccfa8101c1 added working design doc on attribute ordering wrt inheritance 2020-01-12 23:03:12 -06:00
Sanne Grinovero
19b7921d1d HHH-13806 CoreMessageLogger#unableToLoadCommand is not printing the cause of the error 2020-01-10 09:44:20 +00:00
Steve Ebersole
a9ee082128 initial work on non-aggregated composite-id support 2020-01-07 15:34:29 -06:00
Nathan Xu
0b938bd16b HHH-13800 fix typo in AbstractGraphNode's verifyMutability() method 2020-01-06 16:38:35 -05:00
Nathan Xu
207c0d68be HHH-13800 add a new found typo in org.hibernate.graph package's package-info.java 2020-01-06 16:01:13 -05:00
Nathan Xu
674b1dfd27 HHH-13800 Fix typos in Javadoc 2020-01-06 16:00:03 -05:00
Nathan Xu
00e9db2b8b HHH-11958 Make EntityManager.find() support QueryHints.HINT_READONLY 2020-01-06 08:59:35 -06:00