Issues
- BasicHibernateAnnotationsTest.testFilterOnCollection fails on jdk8HHH-9104Resolved issue: HHH-9104Brett Meyer
- Dialect resolver should use a newer Oracle dialect for Oracle 12HHH-9103Resolved issue: HHH-9103Brett Meyer
- Should not log a warning about follow-on locking when requesting LockMode.NONEHHH-9097Resolved issue: HHH-9097
- EmptyInterceptor example has a logical problemHHH-9096Resolved issue: HHH-9096
- org.hibernate.ejb.criteria.QueryBuilderTest.testMultiselectWithPredicates failing on most databasesHHH-9092Resolved issue: HHH-9092Brett Meyer
- HBM2DD schema update and default schema with non-standard charactersHHH-9081Resolved issue: HHH-9081Brett Meyer
- OrderColumn doesn't actually work, index is always 0 across transactionsHHH-9078Resolved issue: HHH-9078Brett Meyer
- Name of LoadEventListener.RELOAD should be "RELOAD" and not "GET"HHH-9072Resolved issue: HHH-9072Guillaume Smet
- Proxy narrowing loses the initialized state of the original proxyHHH-9071Resolved issue: HHH-9071Guillaume Smet
- Custom column name creates custom name + original name columnHHH-9066Resolved issue: HHH-9066
- Nullability.checkNullability fails for allowed embedded null objectHHH-9020Resolved issue: HHH-9020
BasicHibernateAnnotationsTest.testFilterOnCollection fails on jdk8
Description
Activity
Martin SimkaMay 20, 2014 at 10:57 AM
and it fails also on oracle databases
Martin SimkaMay 20, 2014 at 10:56 AM
for the record, on jdk8 it fails with h2, postgresqlplus92, postresql92, mysql55 and it hangs with db2-97, db2-10, mssql2008r2, mssql2012, sybase157
Brett MeyerApril 7, 2014 at 6:19 PM
Just to re-iterate, it's a test-only fix for something BasicHibernateAnnotationsTest was doing incorrect to begin with, just simply exposed by jdk8.
Brett MeyerApril 7, 2014 at 5:20 PMEdited
This stems from BasicHibernateAnnotationsTest's use of isCleanupTestDataRequired == true. When that's the case, the ORM test suite attempts a "delete from java.lang.Object", relying on polymorphism to delete all data from all entities. The order of those classes are determined by a simple Map#values in SessionFactoryImpl#getImplementors. It appears JDK8 has, once again, changed iteration ordering.
Really, I'm kind of surprised this worked to begin with. Realistically, deleting from java.lang.Object doesn't typically happen anywhere outside of tests. This will be a test-only fix, forcing #testFilterOnCollection to clean up its relationships prior to the one-shot delete (more correct to begin with).
org.hibernate.test.annotations.entity.BasicHibernateAnnotationsTest
./gradlew hibernate-core:test -Dtest.single=entity/BasicHibernateAnnotationsTest --stacktrace
fails on jdk8, passes on jdk7