Martin Simka
3f468facd0
HHH-12824 ASTParserLoadingTest.testComponentNullnessChecks fails with DB2 because it uses legacy-style query parameter
2018-07-18 15:59:39 +02:00
Martin Simka
393129fd1d
HHH-12823 CompositeIdTest.testDistinctCountOfEntityWithCompositeId fails on databases that don't support tuple distinct counts because it expects wrong exception
...
The SQLGrammarException is now wrapped in a PersistenceException, we
should take that into account.
2018-07-18 14:38:07 +02:00
Guillaume Smet
92f4758889
HHH-12718 Add a comment about the true meaning of interceptorHandledDirtyCheck
2018-07-17 11:56:50 +02:00
Yoann Rodière
7134e8b968
HHH-12718 Avoid double negations in DefaultFlushEntityEventListener#dirtyCheck
2018-07-17 11:56:26 +02:00
Yoann Rodière
74aa03881a
HHH-12718 Compute dirtiness using whatever method is appropriate after a flush event interception
...
We used to have a simpler version of the dirtyCheck() method after an
interception, but that's not enough.
2018-07-17 11:52:33 +02:00
Yoann Rodière
a9f743069b
HHH-12718 Test that dirtiness strategies are invoked a second time after a flush interceptor changes the entity state
...
Bytecode enhancement is harder to test, so I didn't add a test for that,
but since bytecode enhancement dirty checking is called exactly at the
same place, if one works, the other should, too.
2018-07-17 11:52:33 +02:00
Ulrich Bestfleisch
c3c322d91b
HHH-12718 - Entity changes in @PreUpdate callback are not persisted when lazy loading is active for more than one field
2018-07-17 11:52:03 +02:00
Yoann Rodière
523b29af04
HHH-12795 Remove duplicate code from SessionImpl
...
SessionImpl.initQueryFromNamedDefinition calls its super implementation
AbstractSharedSessionContract.initQueryFromNamedDefinition, which
already does a lot of the work performed in
SessionImpl.initQueryFromNamedDefinition.
The only difference is that SessionImpl uses hints to set values on the
query, whereas AbstractSharedSessionContract uses direct calls to
setters. But that should produce the same result, since setHint() just
delegates to the setters.
Only one thing was done in SessionImpl but not in
AbstractSharedSessionContract: lock mode handling.
I left it in SessionImpl since moving it to the superclass would also
affect other subclasses such as StatelessSession or OGM sessions, and I
certainly don't want to change any behavior without further
investigation.
2018-07-17 11:06:59 +02:00
Yoann Rodière
a0e6d86052
HHH-12795 Test the flushMode attribute of @NamedQuery and @NamedNativeQuery
2018-07-17 11:06:59 +02:00
Yoann Rodière
a9fdc1239a
HHH-12795 Use the exact flush mode specified in @NamedQuery/@NamedNativeQuery when instantiating named queries
...
... instead of using an approximation in terms of JPA flush mode.
2018-07-17 11:06:59 +02:00
Guillaume Smet
fa02d1c65f
HHH-12811 Add @Target annotations to @CreationTimestamp and @UpdateTimestamp
2018-07-17 10:59:06 +02:00
Guillaume Smet
208e789bb1
HHH-12786 Improve the basic proxy interceptor
...
Apart from cosmetic changes, we were testing in the equals() method that the
instance == the proxied object which will always be true.
We should use the argument of the equals() method instead to do the
comparison.
And we can do the comparison on the instance, instead of requiring
passing the proxiedObject into the interceptor.
2018-07-16 17:34:48 +02:00
Guillaume Smet
f722db367e
HHH-12786 Only define the default constructor
...
We don't need the others, better not create them in the proxy.
2018-07-16 17:34:48 +02:00
Guillaume Smet
ed53fd5346
HHH-12786 Allow to call methods when the interceptor is not set yet
...
Typically, if the constructor calls instrumented methods, the
interceptor is not defined yet and we get a NPE.
2018-07-16 17:34:48 +02:00
Guillaume Smet
3759f776ab
HHH-12786 Properly indent the Bytebuddy DSL
...
It helps to understand what exactly these calls do.
2018-07-16 17:34:48 +02:00
Guillaume Smet
f274db28f6
HHH-12804 Don't mock Map in CollectionBinderTest
...
Apparently, Mockito + ByteBuddy are unable to mock Map on JDK 11.
It might be solved in the future but there's no point in doing it so
let's avoid it.
2018-07-14 11:45:56 +02:00
Guillaume Smet
99b4f3c24a
HHH-12801 Adjust the assertion to the new message generated by JDK 11
2018-07-14 11:43:16 +02:00
Guillaume Smet
5ec70ec22e
HHH-12800 Use a class loading strategy suitable for the JDK used
...
The previously chosen strategy used misc.Unsafe which is not possible
anymore with JDK 11.
2018-07-14 11:43:16 +02:00
Gail Badner
9202a5a11d
HHH-12802 : Fix test case to recover from exception properly
2018-07-13 15:51:39 -07:00
Gail Badner
926ad5a133
HHH-12802 : Hibernate does not thrown an exception when more than entity is loaded with the same ID
2018-07-13 14:45:11 -07:00
Gail Badner
2ef777e3fe
HHH-12802 : test case
2018-07-13 14:43:53 -07:00
Vlad Mihalcea
cf3622f64c
HHH-12771 - Caused by: java.lang.UnsupportedOperationException: Cache provider [org.hibernate.cache.ehcache.internal.EhcacheRegionFactory@3271ec2a] does not support `transactional` access
2018-07-13 09:40:48 +03:00
Vlad Mihalcea
414a0dd75d
HHH-12787 - SessionJdbcBatchTest hangs with DB2
2018-07-12 13:39:10 +03:00
Fabio Massimo Ercoli
3d1d1d2d98
HHH-12793 Upgrade Karaf, pax-exam and reenable the OSGi tests
2018-07-12 12:11:53 +02:00
Vlad Mihalcea
97b77bcde3
HHH-12768 - TimeAndTimestampTest fails with SQL Server and MYSQL
2018-07-11 18:17:15 +03:00
Yoann Rodière
479975dcb3
HHH-12695 Restore the getType method in ParameterRegistration
...
It was removed in 5.3.0.Beta1, but this breaks backward compatibility
with 5.1.
2018-07-11 09:56:43 +02:00
Yoann Rodière
e9b8a80a99
HHH-12695 Rename org.hibernate.query.QueryParameter#getType to getHibernateType
...
Because it conflicts with the Class-returning getType method we want to
re-introduce in ParameterRegistration to restore backward compatibility.
2018-07-11 09:56:43 +02:00
Yoann Rodière
99c0c320bb
HHH-12695 Add missing @Overrides in subclasses of javax.persistence.Parameter
...
Because we are in 2018 and Java 5 is now 14 years old.
2018-07-11 09:56:43 +02:00
Yoann Rodière
66d123be75
HHH-12695 Explicitly mark contracts as @Incubating, since a comment in QueryParameter implies they are in fact incubating
...
I did not mark ParameterRegistration as incubating, because it's a
pre-existing interface that we can't reasonably consider as incubating.
It's a bit odd to have a non-incubating contract (ParameterRegistration)
extend an incubating one (ProcedureParameter), though...
2018-07-11 09:56:43 +02:00
Guillaume Smet
d32997a32d
HHH-12784 Fix a regression in Javassist support
2018-07-11 09:52:31 +02:00
Gail Badner
579ee65fd3
HHH-12740 : Subselect fetching doesn't work when multiLoad was used
2018-07-10 18:37:21 -07:00
Robert Rettig
831bff13be
HHH-8805 - [SchemaUpdate] javax.persistence.ForeignKey doesn't respect ConstraintMode.NO_CONSTRAINT
2018-07-10 13:09:07 +03:00
Yoann Rodière
d4477ff5f8
HHH-7686 Add missing @Overrides in MapProxy
2018-07-09 16:27:31 +02:00
Yoann Rodière
f3e62ea795
HHH-7686 Allow lazy loading outside of a transaction after dynamic map proxy deserialization if the proper settings were enabled
...
In theory, trying to deserialize MapLazyInitializer instances that were
serialized before this patch should still work, although using such
instances (i.e. trying to access any method on the proxy) would still
fail, just like it used to before this patch.
2018-07-09 16:27:31 +02:00
Yoann Rodière
1522efc0ad
HHH-7686 Test dynamic map proxy serialization
2018-07-09 16:27:31 +02:00
Yoann Rodière
677f3dffba
HHH-7686 Clarify and test initialization code in the writeReplace() method in proxies
...
If we copy the behavior of "traditional" (non-map) proxies to the
"dynamic-map" proxies, we'd better know what this behavior is and be
sure it works correctly.
2018-07-09 16:27:31 +02:00
Yoann Rodière
415f964a67
HHH-12720 Deprecate a useless constructor in AbstractSerializableProxy
...
A no-arg constructor is only necessary for superclasses of serializable
classes that are not themselves serializable. Here the class is
serializable, so the constructor is useless.
2018-07-09 16:27:31 +02:00
Yoann Rodière
41943fb920
HHH-12720 Allow lazy loading outside of a transaction after proxy deserialization if the proper settings were enabled
2018-07-09 16:27:31 +02:00
Yoann Rodière
4699c73243
HHH-12720 Test proxy serialization with hibernate.enable_lazy_load_no_trans = true
2018-07-09 16:27:31 +02:00
Guillaume Smet
dcf1f66b8a
HHH-12778 Register the cause when an exception occurs creating a proxy
2018-07-09 15:07:56 +02:00
Guillaume Smet
daef4b7f08
Revert "HHH-12670 - Allows native SQL queries that take a given resultClass to map the result set to the required type"
...
This reverts commit 9fac6747ef
.
2018-07-09 13:27:55 +02:00
Gail Badner
9b0c3ba600
HHH-12746 : Remove assertion that hashCodes are not equal from test
2018-07-04 15:55:30 -07:00
Gail Badner
b4762fd52c
Revert "HHH-12746 : CacheKeyImplementation objects with different entityOrRoleName and same id/tenantId have the same hashCode"
...
This reverts commit 220f41dc3b
.
2018-07-04 15:52:11 -07:00
Gail Badner
8081aaec93
HHH-12729 : Correct Javadoc comments
2018-07-04 15:47:51 -07:00
Gail Badner
c143e888d2
HHH-12729 : Binary and behavioral incompatibilities of org.hibernate.Query.getFirstResult(), setFirstResult(), getMaxResults(), setMaxResults()
2018-07-04 15:47:51 -07:00
Vlad Mihalcea
8fff54d6ee
HHH-12769 - Rework LockTest#testContendedPessimisticLock so that it can work on Oracle without throwing exceptions
2018-07-04 21:00:11 +03:00
Vlad Mihalcea
6b3e4e6f56
HHH-12767 - Fix tests failing on Oracle
2018-07-04 17:49:42 +03:00
Guillaume Smet
88bfe7e66c
HHH-12531 Make the legacy names public so that Infinispan can reuse them
2018-07-04 16:15:41 +02:00
Yoann Rodière
21eac287e9
HHH-12531 Default to using legacy region names when default query caches do not exist in the EhCache and JCache integrations
2018-07-04 10:03:23 +02:00
Yoann Rodière
63cc63b386
HHH-12531 Use short, simple names for the query result and update timestamps caching regions
2018-07-04 10:03:23 +02:00