diff --git a/.travis.yml b/.travis.yml
index 2040bfb88b..eaaa3da2e1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -191,6 +191,39 @@ matrix:
# - env: JPAPROVIDER=hibernate-5.3 RDBMS=firebird
# jdk: oraclejdk8
# sudo: true
+################################################
+# hibernate-5.4
+################################################
+ - env: JPAPROVIDER=hibernate-5.4 RDBMS=h2
+ jdk: oraclejdk8
+ - env: JPAPROVIDER=hibernate-5.4 RDBMS=mysql
+ jdk: oraclejdk8
+ dist: trusty
+ sudo: required
+ - env: JPAPROVIDER=hibernate-5.4 RDBMS=postgresql
+ jdk: oraclejdk8
+ addons:
+ postgresql: "9.3"
+ - env: JPAPROVIDER=hibernate-5.4 RDBMS=mssql
+ jdk: oraclejdk8
+ sudo: true
+ services:
+ - docker
+ - env: JPAPROVIDER=hibernate-5.4 RDBMS=db2
+ jdk: oraclejdk8
+ sudo: true
+ services:
+ - docker
+ - env: JPAPROVIDER=hibernate-5.4 RDBMS=oracle
+ jdk: oraclejdk8
+ sudo: true
+ services:
+ - docker
+# - env: JPAPROVIDER=hibernate-5.3 RDBMS=sqlite
+# jdk: oraclejdk8
+# - env: JPAPROVIDER=hibernate-5.3 RDBMS=firebird
+# jdk: oraclejdk8
+# sudo: true
################################################
# datanucleus-5.1
diff --git a/core/testsuite/pom.xml b/core/testsuite/pom.xml
index adc62abcf5..46c5d3d80c 100644
--- a/core/testsuite/pom.xml
+++ b/core/testsuite/pom.xml
@@ -1392,6 +1392,150 @@
+
+ hibernate-5.4
+
+ com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate52
+ src/main/hibernate
+
+
+
+ JBoss Snapshots
+ JBoss Snapshots
+ http://repository.jboss.org/nexus/content/groups/public/
+
+ true
+
+
+
+
+
+ org.hibernate
+ hibernate-entitymanager
+ ${version.hibernate-5.4}
+
+
+ org.hibernate
+ hibernate-envers
+ ${version.hibernate-5.4}
+
+
+ org.hibernate
+ hibernate-testing
+ ${version.hibernate-5.4}
+
+
+ com.vladmihalcea
+ hibernate-types-52
+ ${version.hibernate-types}
+
+
+ ${project.groupId}
+ blaze-persistence-integration-hibernate-5.4
+ test
+
+
+ ${project.groupId}
+ blaze-persistence-testsuite-base-hibernate
+ compile
+
+
+
+ org.hibernate
+ hibernate-jpamodelgen
+ ${version.hibernate-5.4}
+ provided
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ add-source
+ generate-sources
+
+ add-source
+
+
+
+
+
+
+
+
+
+ add-test-source-hibernate
+ generate-test-sources
+
+ add-test-source
+
+
+
+
+
+
+
+
+
+
+ org.bsc.maven
+ maven-processor-plugin
+
+
+ process
+
+ process
+
+ generate-sources
+
+
+ ${project.build.directory}/generated-sources/metamodel
+
+ org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor
+
+
+
+
+
+
+
+ org.hibernate
+ hibernate-jpamodelgen
+ ${version.hibernate-5.4}
+
+
+ javax.xml.bind
+ jaxb-api
+ ${version.jaxb}
+
+
+ com.sun.xml.bind
+ jaxb-core
+ ${version.jaxb}
+
+
+ com.sun.xml.bind
+ jaxb-impl
+ ${version.jaxb}
+
+
+ javax.transaction
+ javax.transaction-api
+ ${version.jta}
+
+
+ javax.activation
+ activation
+ ${version.activation}
+
+
+
+
+
+
hibernate-6.0
diff --git a/dist/bom/pom.xml b/dist/bom/pom.xml
index 8d2ecbe8ab..826be495d6 100644
--- a/dist/bom/pom.xml
+++ b/dist/bom/pom.xml
@@ -137,6 +137,12 @@
${project.version}
runtime
+
+ ${project.groupId}
+ blaze-persistence-integration-hibernate-5.4
+ ${project.version}
+ runtime
+
${project.groupId}
blaze-persistence-integration-hibernate-6.0
diff --git a/dist/full/pom.xml b/dist/full/pom.xml
index c0e3eed715..3e034dfc28 100644
--- a/dist/full/pom.xml
+++ b/dist/full/pom.xml
@@ -101,6 +101,10 @@
${project.groupId}
blaze-persistence-integration-hibernate-5.3
+
+ ${project.groupId}
+ blaze-persistence-integration-hibernate-5.4
+
${project.groupId}
blaze-persistence-integration-hibernate-6.0
diff --git a/entity-view/testsuite/pom.xml b/entity-view/testsuite/pom.xml
index 10cbb1cc72..a3841ae5ec 100644
--- a/entity-view/testsuite/pom.xml
+++ b/entity-view/testsuite/pom.xml
@@ -1076,6 +1076,121 @@
+
+ hibernate-5.4
+
+ com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate52
+
+
+
+ JBoss Snapshots
+ JBoss Snapshots
+ http://repository.jboss.org/nexus/content/groups/public/
+
+ true
+
+
+
+
+
+ org.hibernate
+ hibernate-entitymanager
+ ${version.hibernate-5.4}
+
+
+ ${project.groupId}
+ blaze-persistence-integration-hibernate-5.4
+ test
+
+
+ ${project.groupId}
+ blaze-persistence-testsuite-base-hibernate
+ test
+
+
+
+ org.hibernate
+ hibernate-jpamodelgen
+ ${version.hibernate-5.4}
+ provided
+
+
+
+
+
+ org.bsc.maven
+ maven-processor-plugin
+
+
+ process-test
+
+ process
+
+ generate-test-sources
+
+
+ ${project.build.directory}/test-metamodel
+
+ org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor
+
+
+
+
+
+
+
+ org.hibernate
+ hibernate-jpamodelgen
+ ${version.hibernate-5.4}
+
+
+ javax.xml.bind
+ jaxb-api
+ ${version.jaxb}
+
+
+ com.sun.xml.bind
+ jaxb-core
+ ${version.jaxb}
+
+
+ com.sun.xml.bind
+ jaxb-impl
+ ${version.jaxb}
+
+
+ javax.transaction
+ javax.transaction-api
+ ${version.jta}
+
+
+ javax.activation
+ activation
+ ${version.activation}
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ add-test-source-metamodel
+ generate-test-sources
+
+ add-test-source
+
+
+
+
+
+
+
+
+
+
+
+
hibernate-6.0
diff --git a/integration/deltaspike-data/testsuite/pom.xml b/integration/deltaspike-data/testsuite/pom.xml
index ea57271708..fe24018cdd 100644
--- a/integration/deltaspike-data/testsuite/pom.xml
+++ b/integration/deltaspike-data/testsuite/pom.xml
@@ -1044,6 +1044,122 @@
+
+ hibernate-5.4
+
+ com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate52
+ hibernate
+
+
+
+ JBoss Snapshots
+ JBoss Snapshots
+ http://repository.jboss.org/nexus/content/groups/public/
+
+ true
+
+
+
+
+
+ org.hibernate
+ hibernate-entitymanager
+ ${version.hibernate-5.4}
+
+
+ ${project.groupId}
+ blaze-persistence-integration-hibernate-5.4
+ test
+
+
+ ${project.groupId}
+ blaze-persistence-testsuite-base-hibernate
+ compile
+
+
+
+ org.hibernate
+ hibernate-jpamodelgen
+ ${version.hibernate-5.4}
+ provided
+
+
+
+
+
+ org.bsc.maven
+ maven-processor-plugin
+
+
+ process
+
+ process
+
+ generate-sources
+
+
+ ${project.build.directory}/generated-sources/metamodel
+
+ org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor
+
+
+
+
+
+
+
+ org.hibernate
+ hibernate-jpamodelgen
+ ${version.hibernate-5.4}
+
+
+ javax.xml.bind
+ jaxb-api
+ ${version.jaxb}
+
+
+ com.sun.xml.bind
+ jaxb-core
+ ${version.jaxb}
+
+
+ com.sun.xml.bind
+ jaxb-impl
+ ${version.jaxb}
+
+
+ javax.transaction
+ javax.transaction-api
+ ${version.jta}
+
+
+ javax.activation
+ activation
+ ${version.activation}
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ add-source
+ generate-sources
+
+ add-source
+
+
+
+
+
+
+
+
+
+
+
+
hibernate-6.0
diff --git a/integration/hibernate-5.4/pom.xml b/integration/hibernate-5.4/pom.xml
new file mode 100644
index 0000000000..4d2958c88b
--- /dev/null
+++ b/integration/hibernate-5.4/pom.xml
@@ -0,0 +1,65 @@
+
+
+
+
+ 4.0.0
+
+
+ com.blazebit
+ blaze-persistence-integration
+ 1.3.0-SNAPSHOT
+ ../pom.xml
+
+
+ blaze-persistence-integration-hibernate-5.4
+ jar
+
+ Blazebit Persistence Integration Hibernate 5.4
+
+
+
+ com.blazebit
+ blaze-persistence-integration-hibernate-5.3
+ ${project.version}
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.1.1
+
+
+ package
+
+ shade
+
+
+
+
+ com.blazebit:blaze-persistence-integration-hibernate-5.3
+
+
+
+
+
+
+
+
+
diff --git a/integration/pom.xml b/integration/pom.xml
index 09687bab6d..a55f40a416 100644
--- a/integration/pom.xml
+++ b/integration/pom.xml
@@ -38,6 +38,7 @@
hibernate-5
hibernate-5.2
hibernate-5.3
+ hibernate-5.4
hibernate-6.0
datanucleus
datanucleus-5.1
diff --git a/integration/spring-data/testsuite/pom.xml b/integration/spring-data/testsuite/pom.xml
index 4f5cb1d8c1..dd30bb9e19 100644
--- a/integration/spring-data/testsuite/pom.xml
+++ b/integration/spring-data/testsuite/pom.xml
@@ -1039,6 +1039,122 @@
+
+ hibernate-5.4
+
+ com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate52
+ hibernate
+
+
+
+ JBoss Snapshots
+ JBoss Snapshots
+ http://repository.jboss.org/nexus/content/groups/public/
+
+ true
+
+
+
+
+
+ org.hibernate
+ hibernate-entitymanager
+ ${version.hibernate-5.4}
+
+
+ ${project.groupId}
+ blaze-persistence-integration-hibernate-5.4
+ test
+
+
+ ${project.groupId}
+ blaze-persistence-testsuite-base-hibernate
+ compile
+
+
+
+ org.hibernate
+ hibernate-jpamodelgen
+ ${version.hibernate-5.4}
+ provided
+
+
+
+
+
+ org.bsc.maven
+ maven-processor-plugin
+
+
+ process
+
+ process
+
+ generate-sources
+
+
+ ${project.build.directory}/generated-sources/metamodel
+
+ org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor
+
+
+
+
+
+
+
+ org.hibernate
+ hibernate-jpamodelgen
+ ${version.hibernate-5.4}
+
+
+ javax.xml.bind
+ jaxb-api
+ ${version.jaxb}
+
+
+ com.sun.xml.bind
+ jaxb-core
+ ${version.jaxb}
+
+
+ com.sun.xml.bind
+ jaxb-impl
+ ${version.jaxb}
+
+
+ javax.transaction
+ javax.transaction-api
+ ${version.jta}
+
+
+ javax.activation
+ activation
+ ${version.activation}
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ add-source
+ generate-sources
+
+ add-source
+
+
+
+
+
+
+
+
+
+
+
+
hibernate-6.0
diff --git a/jpa-criteria/testsuite/pom.xml b/jpa-criteria/testsuite/pom.xml
index 6e7bd75b76..4f52cb9f32 100644
--- a/jpa-criteria/testsuite/pom.xml
+++ b/jpa-criteria/testsuite/pom.xml
@@ -793,6 +793,121 @@
+
+ hibernate-5.4
+
+ com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate,com.blazebit.persistence.testsuite.base.jpa.category.NoHibernate52
+
+
+
+ JBoss Snapshots
+ JBoss Snapshots
+ http://repository.jboss.org/nexus/content/groups/public/
+
+ true
+
+
+
+
+
+ org.hibernate
+ hibernate-entitymanager
+ ${version.hibernate-5.4}
+
+
+ ${project.groupId}
+ blaze-persistence-integration-hibernate-5.4
+ test
+
+
+ ${project.groupId}
+ blaze-persistence-testsuite-base-hibernate
+ test
+
+
+
+ org.hibernate
+ hibernate-jpamodelgen
+ ${version.hibernate-5.4}
+ provided
+
+
+
+
+
+ org.bsc.maven
+ maven-processor-plugin
+
+
+ process-test
+
+ process-test
+
+ generate-test-sources
+
+
+ ${project.build.directory}/test-metamodel
+
+ org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor
+
+
+
+
+
+
+
+ org.hibernate
+ hibernate-jpamodelgen
+ ${version.hibernate-5.4}
+
+
+ javax.xml.bind
+ jaxb-api
+ ${version.jaxb}
+
+
+ com.sun.xml.bind
+ jaxb-core
+ ${version.jaxb}
+
+
+ com.sun.xml.bind
+ jaxb-impl
+ ${version.jaxb}
+
+
+ javax.transaction
+ javax.transaction-api
+ ${version.jta}
+
+
+ javax.activation
+ activation
+ ${version.activation}
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ add-test-source-metamodel
+ generate-test-sources
+
+ add-test-source
+
+
+
+
+
+
+
+
+
+
+
+
hibernate-6.0
diff --git a/parent/pom.xml b/parent/pom.xml
index 5420afa651..7e7b90d4c1 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -53,6 +53,7 @@
5.2.9.Final
5.3.1.Final
+ 5.4.0-SNAPSHOT
5.3.1.Final
@@ -194,6 +195,11 @@
blaze-persistence-integration-hibernate-5.3
${project.version}
+
+ ${project.groupId}
+ blaze-persistence-integration-hibernate-5.4
+ ${project.version}
+
${project.groupId}
blaze-persistence-integration-hibernate-6.0
diff --git a/testsuite-base/hibernate/src/main/java/com/blazebit/persistence/testsuite/base/AbstractPersistenceTest.java b/testsuite-base/hibernate/src/main/java/com/blazebit/persistence/testsuite/base/AbstractPersistenceTest.java
index 054d7434f4..32ab7a5784 100644
--- a/testsuite-base/hibernate/src/main/java/com/blazebit/persistence/testsuite/base/AbstractPersistenceTest.java
+++ b/testsuite-base/hibernate/src/main/java/com/blazebit/persistence/testsuite/base/AbstractPersistenceTest.java
@@ -102,7 +102,9 @@ protected Properties applyProperties(Properties properties) {
// Disable in <= 5.2.6 since it's still broken
properties.put("hibernate.collection_join_subquery", "false");
}
-
+
+ // Needed for Envers tests in Hibernate >= 5.3.5, 5.4.x (HHH-12871)
+ properties.put("hibernate.ejb.metamodel.population", "enabled");
// We use the following only for debugging purposes
// Normally these settings should be disabled since the output would be too big TravisCI
// properties.put("hibernate.show_sql", "true");