diff --git a/pom.xml b/pom.xml
index f188f46..7daef2a 100755
--- a/pom.xml
+++ b/pom.xml
@@ -117,7 +117,7 @@
spring-libs-snapshot
- https://repo.spring.io/libs-snapshot
+ https://repo.spring.io/snapshot
diff --git a/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java b/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java
index de6ab24..fb7a155 100755
--- a/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java
+++ b/src/main/java/org/springframework/data/envers/repository/support/EnversRevisionRepositoryImpl.java
@@ -15,14 +15,6 @@
*/
package org.springframework.data.envers.repository.support;
-import static org.springframework.data.history.RevisionMetadata.RevisionType.*;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
-
-import javax.persistence.EntityManager;
-
import org.hibernate.Hibernate;
import org.hibernate.envers.AuditReader;
import org.hibernate.envers.AuditReaderFactory;
@@ -32,6 +24,7 @@ import org.hibernate.envers.RevisionTimestamp;
import org.hibernate.envers.RevisionType;
import org.hibernate.envers.query.AuditEntity;
import org.hibernate.envers.query.AuditQuery;
+import org.hibernate.envers.query.criteria.AuditProperty;
import org.hibernate.envers.query.order.AuditOrder;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
@@ -49,6 +42,14 @@ import org.springframework.data.repository.history.support.RevisionEntityInforma
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
+import javax.persistence.EntityManager;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+
+import static org.springframework.data.history.RevisionMetadata.RevisionType.*;
+
/**
* Repository implementation using Hibernate Envers to implement revision specific query methods.
*
@@ -72,12 +73,12 @@ public class EnversRevisionRepositoryImpl entityInformation,
- RevisionEntityInformation revisionEntityInformation, EntityManager entityManager) {
+ RevisionEntityInformation revisionEntityInformation, EntityManager entityManager) {
Assert.notNull(revisionEntityInformation, "RevisionEntityInformation must not be null!");
@@ -145,29 +146,47 @@ public class EnversRevisionRepositoryImpl order.getDirection().isAscending() ?
- AuditEntity.property(order.getProperty()).asc() :
- AuditEntity.property(order.getProperty()).desc())
- .orElse(AuditEntity.revisionNumber().asc());
+ private List mapPropertySort(Sort sort) {
+
+ if (sort.isEmpty()) {
+ return Collections.singletonList(AuditEntity.revisionNumber().asc());
+ }
+
+ List result = new ArrayList<>();
+ for (Sort.Order order : sort) {
+
+ AuditProperty