4484 Commits

Author SHA1 Message Date
Guillaume Smet
d6f8d2e7a0 HHH-12822 Skip "case when" tests requiring casts for DB2 2018-07-19 15:18:42 +02:00
Guillaume Smet
3747352ec5 HHH-12827 Define a numeric type as decimal for DB2
DB2 converts the numeric type to decimal and returns Types.DECIMAL for a
numeric. We change the type name used so that we have a match when
comparing the type names as last resort.
2018-07-19 15:18:42 +02:00
Guillaume Smet
7174b03a25 HHH-12815 Remove the zeroDateTimeBehavior option
It's useless for this test and it causes compatibility issues.
2018-07-19 15:18:42 +02:00
Guillaume Smet
1945180569 HHH-12791 Cache the Component type to avoid generating one proxy per call
While Javassist only generates one proxy as the name is stable,
ByteBuddy uses random names and thus generates a new proxy for every
call, leading to the generation of 18 different proxies for the other
test of the test class.

We can't do better than using a volatile/synchronized pattern as the
Component is not fully initialized in the constructor.

Maybe we could take the risk of admitting that the getType() method is
called at least once before we pass the element to a multi-threaded
environment but that's a bet I don't want to take alone.
2018-07-19 10:02:03 +02:00
Chris Cranford
4fc2ce7ab7 HHH-12826 - Persist cascade of collection fails when orphan removal enabled with flush mode commit.
(cherry picked from commit 3fe7d6e13ed6da80327cb9b145e0b5176fd3603a)
2018-07-18 18:10:58 -04:00
Chris Cranford
d24685de67 HHH-12542 - Add necessary privileged action blocks for SecurityManager used on WildFly. 2018-07-18 17:50:27 +02:00
Martin Simka
d23fc129cc HHH-12825 CriteriaHQLAlignmentTest.testCountReturnValues fails on databases that don't support tuple distinct counts because it expects wrong exception 2018-07-18 16:03:24 +02:00
Martin Simka
2f12913b98 HHH-12824 ASTParserLoadingTest.testComponentNullnessChecks fails with DB2 because it uses legacy-style query parameter 2018-07-18 16:00:41 +02:00
Martin Simka
103de8de84 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:45 +02:00
Guillaume Smet
dde8744ca3 HHH-12718 Add a comment about the true meaning of interceptorHandledDirtyCheck 2018-07-17 12:10:19 +02:00
Yoann Rodière
da2d986efb HHH-12718 Avoid double negations in DefaultFlushEntityEventListener#dirtyCheck 2018-07-17 12:10:19 +02:00
Yoann Rodière
e53e0ef790 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 12:10:19 +02:00
Yoann Rodière
47107e3e88 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 12:10:19 +02:00
Ulrich Bestfleisch
a180caecd6 HHH-12718 - Entity changes in @PreUpdate callback are not persisted when lazy loading is active for more than one field 2018-07-17 12:10:19 +02:00
Yoann Rodière
af427cb6c5 HHH-12795 Test the flushMode attribute of @NamedQuery and @NamedNativeQuery 2018-07-17 11:07:41 +02:00
Yoann Rodière
36fcadaa6a 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:07:41 +02:00
Guillaume Smet
e4ae86cce2 HHH-12811 Add @Target annotations to @CreationTimestamp and @UpdateTimestamp 2018-07-17 10:59:39 +02:00
Guillaume Smet
1688c3ff8d 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:35:15 +02:00
Guillaume Smet
67698b8bdb HHH-12786 Only define the default constructor
We don't need the others, better not create them in the proxy.
2018-07-16 17:35:15 +02:00
Guillaume Smet
0fda6be86e 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:35:15 +02:00
Guillaume Smet
297031319d HHH-12786 Properly indent the Bytebuddy DSL
It helps to understand what exactly these calls do.
2018-07-16 17:35:15 +02:00
Guillaume Smet
667b565028 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-16 15:07:56 +02:00
Guillaume Smet
a9e20c18c5 HHH-12801 Adjust the assertion to the new message generated by JDK 11 2018-07-16 15:07:56 +02:00
Guillaume Smet
9d36d1d91f 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-16 15:07:56 +02:00
Gail Badner
7e69797a45 HHH-12802 : Fix test case to recover from exception properly
(cherry picked from commit 9202a5a11d56ca6565963f3f9aa59b92421ec5fb)
2018-07-13 15:53:46 -07:00
Gail Badner
3af8b6235a HHH-12802 : Hibernate does not thrown an exception when more than entity is loaded with the same ID
(cherry picked from commit 926ad5a13335ae2b6408c68203bee5198fa8c4d1)
2018-07-13 14:51:12 -07:00
Gail Badner
ff18d904e8 HHH-12802 : test case
(cherry picked from commit 2ef777e3fe398ed64bb69eeb48dfaa2d2e121a72)
2018-07-13 14:50:51 -07:00
Vlad Mihalcea
4b51867c44 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:43:03 +03:00
Vlad Mihalcea
1192eed560 HHH-12787 - SessionJdbcBatchTest hangs with DB2 2018-07-12 13:41:37 +03:00
Fabio Massimo Ercoli
6d0509bb34 HHH-12793 Upgrade Karaf, pax-exam and reenable the OSGi tests 2018-07-12 12:13:32 +02:00
Vlad Mihalcea
3bba6adac9 HHH-12768 - TimeAndTimestampTest fails with SQL Server and MYSQL 2018-07-12 06:37:20 +03:00
Yoann Rodière
fb8e1c1d71 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:57:25 +02:00
Yoann Rodière
68ad2130e8 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:57:25 +02:00
Yoann Rodière
c26ac23a7b 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:57:25 +02:00
Yoann Rodière
a0d2f53937 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:57:25 +02:00
Gail Badner
0e1f3d5c94 HHH-12740 : Subselect fetching doesn't work when multiLoad was used
(cherry picked from commit 579ee65fd3e242e0c92af1e9e08df4696840d394)
2018-07-10 18:51:51 -07:00
Robert Rettig
b0f2d0fa59 HHH-8805 - [SchemaUpdate] javax.persistence.ForeignKey doesn't respect ConstraintMode.NO_CONSTRAINT 2018-07-10 14:32:37 +03:00
Yoann Rodière
7471aa1589 HHH-7686 Add missing @Overrides in MapProxy 2018-07-09 17:35:01 +02:00
Yoann Rodière
782336faed 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 17:35:01 +02:00
Yoann Rodière
bc6c982541 HHH-7686 Test dynamic map proxy serialization 2018-07-09 17:35:01 +02:00
Yoann Rodière
f2b4aedc03 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 17:35:01 +02:00
Yoann Rodière
e0900b17e2 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 17:35:01 +02:00
Yoann Rodière
3336489e40 HHH-12720 Allow lazy loading outside of a transaction after proxy deserialization if the proper settings were enabled 2018-07-09 17:35:01 +02:00
Yoann Rodière
500edf4b8a HHH-12720 Test proxy serialization with hibernate.enable_lazy_load_no_trans = true 2018-07-09 17:35:01 +02:00
Guillaume Smet
147476038b HHH-12778 Register the cause when an exception occurs creating a proxy 2018-07-09 15:08:36 +02:00
Guillaume Smet
1d68b1a2d0 Revert "HHH-12670 - Allows native SQL queries that take a given resultClass to map the result set to the required type"
This reverts commit 9fac6747ef22acff9c7350efca33286452a2c967.
2018-07-09 13:46:36 +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 220f41dc3bcf88128cc78ddef8b463e788fede46.
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