Commit Graph

9131 Commits

Author SHA1 Message Date
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 6e85dd82f3 HHH-12807 Force to execute the release task with JDK 8
Considering hibernate-orm-modules tests are disabled with JDK 11, it's
safer to prevent us from running a release with it. And all in all, we'd
better release with JDK 8.
2018-07-16 15:05:47 +02:00
Guillaume Smet 4d057eab2f HHH-12813 Disable Asciidoclet in Javadoc generation
We don't have the certainty that we don't use Asciidoctor Javadoc but
using Asciidoclet leads to malformed Javadoc if we are using HTML
Javadoc, which concerns the high majority of our files.
2018-07-15 15:02:50 +02:00
Guillaume Smet 2b564d4046 HHH-12809 Use an HTTP link for the Javadoc link to our Bean Validation documentation 2018-07-14 19:36:38 +02:00
Guillaume Smet 02da69d50a HHH-12808 Upgrade Gradle to 4.8.1 2018-07-14 13:39:03 +02:00
Guillaume Smet 3577e8540f HHH-12807 Disable the hibernate-orm-modules tests for JDK 11 2018-07-14 13:34:52 +02:00
Guillaume Smet 3abb6805b6 HHH-12805 Upgrade Mockito to 2.19.1 2018-07-14 11:59:53 +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 972a79d448 HHH-12803 Upgrade ByteBuddy to 1.8.13 2018-07-14 11:43:28 +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
Sanne Grinovero c424583d8e HHH-12799 Enforce version alignment of Mockito and ByteBuddy dependencies 2018-07-12 16:19:57 +01:00
Vlad Mihalcea 5b4f18390e HHH-12349 - User Guide documentation for @Filter is too verbose 2018-07-12 14:35:28 +03:00
Jonathan Bregler 4405bb5c15 HHH-12798: Fix for nested spatial functions on SAP HANA 2018-07-12 13:53:15 +03:00
Vlad Mihalcea 414a0dd75d HHH-12787 - SessionJdbcBatchTest hangs with DB2 2018-07-12 13:39:10 +03:00
Guillaume Smet 0449c1a79c HHH-12793 Fix preexisting indentation issues 2018-07-12 12:11:53 +02:00
Guillaume Smet 9ebed55dd9 HHH-12793 Add a comment about why we ignore javax.activation for now 2018-07-12 12:11:53 +02:00
Fabio Massimo Ercoli 3d1d1d2d98 HHH-12793 Upgrade Karaf, pax-exam and reenable the OSGi tests 2018-07-12 12:11:53 +02:00
Diego Lovison 535a33ea5d HHH-12797 Fix cache modes relationships table layout 2018-07-12 10:45:40 +02:00
Galder Zamarreño 5f03b48edc HHH-12177 Update relocation of Infinispan provider for 5.3 2018-07-12 10:36:23 +02:00
Vlad Mihalcea 97b77bcde3 HHH-12768 - TimeAndTimestampTest fails with SQL Server and MYSQL 2018-07-11 18:17:15 +03:00
Guillaume Smet 9035793987 HHH-12774 Add missing jars to the distribution archives 2018-07-11 10:15:03 +02:00
Sanne Grinovero c063b310b4 HHH-12789 Upgrade to Mockito 2.19.0 2018-07-11 10:01:16 +02:00
Sanne Grinovero 335f6232d9 HHH-12788 Enable mockito-inline for the Agroal integration module 2018-07-11 10:01:16 +02: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 c5d97e4e23 HHH-12781 Update Javassist dependency to 3.23.1 2018-07-11 09:52:31 +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