DATAMONGO-538 - Query API can now work with Sort and Pageable from Spring Data Commons.
Introduced with(Sort sort) and with(Pageable pageable) on Query. Deprecated sort() method and the custom Sort class. Deprecated QueryUtils.applyPagination(…) and ….applySorting(…) and changed internal calls to this to use the Query API directly. Some JavaDoc polishing.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2011 the original author or authors.
|
* Copyright 2010-2012 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -22,17 +22,25 @@ import java.util.ArrayList;
|
|||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.springframework.data.domain.Pageable;
|
||||||
|
import org.springframework.data.domain.Sort;
|
||||||
import org.springframework.data.mongodb.InvalidMongoDbApiUsageException;
|
import org.springframework.data.mongodb.InvalidMongoDbApiUsageException;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
import com.mongodb.BasicDBObject;
|
import com.mongodb.BasicDBObject;
|
||||||
import com.mongodb.DBObject;
|
import com.mongodb.DBObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Thomas Risberg
|
||||||
|
* @author Oliver Gierke
|
||||||
|
*/
|
||||||
public class Query {
|
public class Query {
|
||||||
|
|
||||||
private LinkedHashMap<String, Criteria> criteria = new LinkedHashMap<String, Criteria>();
|
private LinkedHashMap<String, Criteria> criteria = new LinkedHashMap<String, Criteria>();
|
||||||
private Field fieldSpec;
|
private Field fieldSpec;
|
||||||
private Sort sort;
|
private Sort coreSort;
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
private org.springframework.data.mongodb.core.query.Sort sort;
|
||||||
private int skip;
|
private int skip;
|
||||||
private int limit;
|
private int limit;
|
||||||
private String hint;
|
private String hint;
|
||||||
@@ -96,14 +104,61 @@ public class Query {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Sort sort() {
|
/**
|
||||||
|
* Returns a {@link org.springframework.data.mongodb.core.query.Sort} instance to define ordering properties.
|
||||||
|
*
|
||||||
|
* @deprecated use {@link #with(Sort)} instead
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public org.springframework.data.mongodb.core.query.Sort sort() {
|
||||||
if (this.sort == null) {
|
if (this.sort == null) {
|
||||||
this.sort = new Sort();
|
this.sort = new org.springframework.data.mongodb.core.query.Sort();
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.sort;
|
return this.sort;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the given pagination information on the {@link Query} instance. Will transparently set {@code skip} and
|
||||||
|
* {@code limit} as well as applying the {@link Sort} instance defined with the {@link Pageable}.
|
||||||
|
*
|
||||||
|
* @param pageable
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Query with(Pageable pageable) {
|
||||||
|
|
||||||
|
if (pageable == null) {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.limit = pageable.getPageSize();
|
||||||
|
this.skip = pageable.getOffset();
|
||||||
|
|
||||||
|
return with(pageable.getSort());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a {@link Sort} to the {@link Query} instance.
|
||||||
|
*
|
||||||
|
* @param sort
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Query with(Sort sort) {
|
||||||
|
|
||||||
|
if (sort == null) {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.coreSort == null) {
|
||||||
|
this.coreSort = sort;
|
||||||
|
} else {
|
||||||
|
this.coreSort = this.coreSort.and(sort);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public DBObject getQueryObject() {
|
public DBObject getQueryObject() {
|
||||||
DBObject dbo = new BasicDBObject();
|
DBObject dbo = new BasicDBObject();
|
||||||
for (String k : criteria.keySet()) {
|
for (String k : criteria.keySet()) {
|
||||||
@@ -121,11 +176,26 @@ public class Query {
|
|||||||
return fieldSpec.getFieldsObject();
|
return fieldSpec.getFieldsObject();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public DBObject getSortObject() {
|
public DBObject getSortObject() {
|
||||||
if (this.sort == null) {
|
|
||||||
|
if (this.coreSort == null && this.sort == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return this.sort.getSortObject();
|
|
||||||
|
DBObject dbo = new BasicDBObject();
|
||||||
|
|
||||||
|
if (this.coreSort != null) {
|
||||||
|
for (org.springframework.data.domain.Sort.Order order : this.coreSort) {
|
||||||
|
dbo.put(order.getProperty(), order.isAscending() ? 1 : -1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.sort != null) {
|
||||||
|
dbo.putAll(this.sort.getSortObject());
|
||||||
|
}
|
||||||
|
|
||||||
|
return dbo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSkip() {
|
public int getSkip() {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2011 the original author or authors.
|
* Copyright 2010-2012 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -21,6 +21,15 @@ import java.util.Map;
|
|||||||
import com.mongodb.BasicDBObject;
|
import com.mongodb.BasicDBObject;
|
||||||
import com.mongodb.DBObject;
|
import com.mongodb.DBObject;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper class to define sorting criterias for a Query instance.
|
||||||
|
*
|
||||||
|
* @author Thomas Risberg
|
||||||
|
* @author Oliver Gierke
|
||||||
|
* @deprecated use {@link org.springframework.data.domain.Sort} instead. See
|
||||||
|
* {@link Query#with(org.springframework.data.domain.Sort)}.
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
public class Sort {
|
public class Sort {
|
||||||
|
|
||||||
private Map<String, Order> fieldSpec = new LinkedHashMap<String, Order>();
|
private Map<String, Order> fieldSpec = new LinkedHashMap<String, Order>();
|
||||||
@@ -40,7 +49,7 @@ public class Sort {
|
|||||||
public DBObject getSortObject() {
|
public DBObject getSortObject() {
|
||||||
DBObject dbo = new BasicDBObject();
|
DBObject dbo = new BasicDBObject();
|
||||||
for (String k : fieldSpec.keySet()) {
|
for (String k : fieldSpec.keySet()) {
|
||||||
dbo.put(k, (fieldSpec.get(k).equals(Order.ASCENDING) ? 1 : -1));
|
dbo.put(k, fieldSpec.get(k).equals(Order.ASCENDING) ? 1 : -1);
|
||||||
}
|
}
|
||||||
return dbo;
|
return dbo;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,8 +15,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.data.mongodb.repository.query;
|
package org.springframework.data.mongodb.repository.query;
|
||||||
|
|
||||||
import static org.springframework.data.mongodb.repository.query.QueryUtils.*;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.springframework.data.domain.PageImpl;
|
import org.springframework.data.domain.PageImpl;
|
||||||
@@ -145,12 +143,7 @@ public abstract class AbstractMongoQuery implements RepositoryQuery {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Object execute(Query query) {
|
public Object execute(Query query) {
|
||||||
|
return readCollection(query.with(pageable));
|
||||||
if (pageable != null) {
|
|
||||||
query = applyPagination(query, pageable);
|
|
||||||
}
|
|
||||||
|
|
||||||
return readCollection(query);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -185,8 +178,7 @@ public abstract class AbstractMongoQuery implements RepositoryQuery {
|
|||||||
MongoEntityInformation<?, ?> metadata = method.getEntityInformation();
|
MongoEntityInformation<?, ?> metadata = method.getEntityInformation();
|
||||||
long count = operations.count(query, metadata.getCollectionName());
|
long count = operations.count(query, metadata.getCollectionName());
|
||||||
|
|
||||||
List<?> result = operations.find(applyPagination(query, pageable), metadata.getJavaType(),
|
List<?> result = operations.find(query.with(pageable), metadata.getJavaType(), metadata.getCollectionName());
|
||||||
metadata.getCollectionName());
|
|
||||||
|
|
||||||
return new PageImpl(result, pageable, count);
|
return new PageImpl(result, pageable, count);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -147,8 +147,7 @@ class MongoQueryCreator extends AbstractQueryCreator<Query, Criteria> {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Query query = new Query(criteria);
|
Query query = new Query(criteria).with(sort);
|
||||||
QueryUtils.applySorting(query, sort);
|
|
||||||
|
|
||||||
if (LOG.isDebugEnabled()) {
|
if (LOG.isDebugEnabled()) {
|
||||||
LOG.debug("Created query " + query);
|
LOG.debug("Created query " + query);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2011 the original author or authors.
|
* Copyright 2010-2012 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -15,12 +15,13 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.data.mongodb.repository.query;
|
package org.springframework.data.mongodb.repository.query;
|
||||||
|
|
||||||
import com.mongodb.DBCursor;
|
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import org.springframework.data.domain.Sort;
|
import org.springframework.data.domain.Sort;
|
||||||
import org.springframework.data.domain.Sort.Order;
|
import org.springframework.data.domain.Sort.Order;
|
||||||
import org.springframework.data.mongodb.core.query.Query;
|
import org.springframework.data.mongodb.core.query.Query;
|
||||||
|
|
||||||
|
import com.mongodb.DBCursor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Collection of utility methods to apply sorting and pagination to a {@link DBCursor}.
|
* Collection of utility methods to apply sorting and pagination to a {@link DBCursor}.
|
||||||
*
|
*
|
||||||
@@ -36,10 +37,12 @@ public abstract class QueryUtils {
|
|||||||
* Applies the given {@link Pageable} to the given {@link Query}. Will do nothing if {@link Pageable} is
|
* Applies the given {@link Pageable} to the given {@link Query}. Will do nothing if {@link Pageable} is
|
||||||
* {@literal null}.
|
* {@literal null}.
|
||||||
*
|
*
|
||||||
* @param query
|
* @deprecated use {@link Query#with(Pageable)}.
|
||||||
|
* @param query must not be {@literal null}.
|
||||||
* @param pageable
|
* @param pageable
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public static Query applyPagination(Query query, Pageable pageable) {
|
public static Query applyPagination(Query query, Pageable pageable) {
|
||||||
|
|
||||||
if (pageable == null) {
|
if (pageable == null) {
|
||||||
@@ -49,16 +52,18 @@ public abstract class QueryUtils {
|
|||||||
query.limit(pageable.getPageSize());
|
query.limit(pageable.getPageSize());
|
||||||
query.skip(pageable.getOffset());
|
query.skip(pageable.getOffset());
|
||||||
|
|
||||||
return applySorting(query, pageable.getSort());
|
return query.with(pageable.getSort());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Applies the given {@link Sort} to the {@link Query}. Will do nothing if {@link Sort} is {@literal null}.
|
* Applies the given {@link Sort} to the {@link Query}. Will do nothing if {@link Sort} is {@literal null}.
|
||||||
*
|
*
|
||||||
* @param query
|
* @deprecated use {@link Query#with(Pageable)}.
|
||||||
|
* @param query must not be {@literal null}.
|
||||||
* @param sort
|
* @param sort
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public static Query applySorting(Query query, Sort sort) {
|
public static Query applySorting(Query query, Sort sort) {
|
||||||
|
|
||||||
if (sort == null) {
|
if (sort == null) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2011 the original author or authors.
|
* Copyright 2011-2012 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -73,7 +73,7 @@ public class StringBasedMongoQuery extends AbstractMongoQuery {
|
|||||||
query = new BasicQuery(queryString);
|
query = new BasicQuery(queryString);
|
||||||
}
|
}
|
||||||
|
|
||||||
QueryUtils.applySorting(query, accessor.getSort());
|
query.with(accessor.getSort());
|
||||||
|
|
||||||
if (LOG.isDebugEnabled()) {
|
if (LOG.isDebugEnabled()) {
|
||||||
LOG.debug(String.format("Created query %s", query.getQueryObject()));
|
LOG.debug(String.format("Created query %s", query.getQueryObject()));
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2011 the original author or authors.
|
* Copyright 2010-2012 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -34,7 +34,6 @@ import org.springframework.data.mongodb.core.query.Criteria;
|
|||||||
import org.springframework.data.mongodb.core.query.Query;
|
import org.springframework.data.mongodb.core.query.Query;
|
||||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||||
import org.springframework.data.mongodb.repository.query.MongoEntityInformation;
|
import org.springframework.data.mongodb.repository.query.MongoEntityInformation;
|
||||||
import org.springframework.data.mongodb.repository.query.QueryUtils;
|
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -200,7 +199,7 @@ public class SimpleMongoRepository<T, ID extends Serializable> implements MongoR
|
|||||||
public Page<T> findAll(final Pageable pageable) {
|
public Page<T> findAll(final Pageable pageable) {
|
||||||
|
|
||||||
Long count = count();
|
Long count = count();
|
||||||
List<T> list = findAll(QueryUtils.applyPagination(new Query(), pageable));
|
List<T> list = findAll(new Query().with(pageable));
|
||||||
|
|
||||||
return new PageImpl<T>(list, pageable, count);
|
return new PageImpl<T>(list, pageable, count);
|
||||||
}
|
}
|
||||||
@@ -209,9 +208,8 @@ public class SimpleMongoRepository<T, ID extends Serializable> implements MongoR
|
|||||||
* (non-Javadoc)
|
* (non-Javadoc)
|
||||||
* @see org.springframework.data.repository.PagingAndSortingRepository#findAll(org.springframework.data.domain.Sort)
|
* @see org.springframework.data.repository.PagingAndSortingRepository#findAll(org.springframework.data.domain.Sort)
|
||||||
*/
|
*/
|
||||||
public List<T> findAll(final Sort sort) {
|
public List<T> findAll(Sort sort) {
|
||||||
|
return findAll(new Query().with(sort));
|
||||||
return findAll(QueryUtils.applySorting(new Query(), sort));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<T> findAll(Query query) {
|
private List<T> findAll(Query query) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2011 the original author or authors.
|
* Copyright 2011-2012 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -15,11 +15,12 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.data.mongodb.core.query;
|
package org.springframework.data.mongodb.core.query;
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
|
||||||
import static org.hamcrest.CoreMatchers.*;
|
import static org.hamcrest.CoreMatchers.*;
|
||||||
|
import static org.junit.Assert.*;
|
||||||
import static org.springframework.data.mongodb.core.query.Criteria.*;
|
import static org.springframework.data.mongodb.core.query.Criteria.*;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.springframework.data.domain.Sort.Direction;
|
||||||
|
|
||||||
import com.mongodb.BasicDBObject;
|
import com.mongodb.BasicDBObject;
|
||||||
import com.mongodb.DBObject;
|
import com.mongodb.DBObject;
|
||||||
@@ -51,7 +52,7 @@ public class BasicQueryUnitTests {
|
|||||||
|
|
||||||
BasicQuery query = new BasicQuery("{}");
|
BasicQuery query = new BasicQuery("{}");
|
||||||
query.setSortObject(new BasicDBObject("name", -1));
|
query.setSortObject(new BasicDBObject("name", -1));
|
||||||
query.sort().on("lastname", Order.ASCENDING);
|
query.with(new org.springframework.data.domain.Sort(Direction.ASC, "lastname"));
|
||||||
|
|
||||||
DBObject sortReference = new BasicDBObject("name", -1);
|
DBObject sortReference = new BasicDBObject("name", -1);
|
||||||
sortReference.put("lastname", 1);
|
sortReference.put("lastname", 1);
|
||||||
|
|||||||
@@ -15,10 +15,13 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.data.mongodb.core.query;
|
package org.springframework.data.mongodb.core.query;
|
||||||
|
|
||||||
|
import static org.hamcrest.CoreMatchers.*;
|
||||||
|
import static org.junit.Assert.*;
|
||||||
import static org.springframework.data.mongodb.core.query.Criteria.*;
|
import static org.springframework.data.mongodb.core.query.Criteria.*;
|
||||||
|
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
import org.springframework.data.domain.Sort.Direction;
|
||||||
import org.springframework.data.mongodb.InvalidMongoDbApiUsageException;
|
import org.springframework.data.mongodb.InvalidMongoDbApiUsageException;
|
||||||
|
|
||||||
public class QueryTests {
|
public class QueryTests {
|
||||||
@@ -144,4 +147,27 @@ public class QueryTests {
|
|||||||
String expected = "{ \"name\" : { \"$regex\" : \"b.*\" , \"$options\" : \"i\"}}";
|
String expected = "{ \"name\" : { \"$regex\" : \"b.*\" , \"$options\" : \"i\"}}";
|
||||||
Assert.assertEquals(expected, q.getQueryObject().toString());
|
Assert.assertEquals(expected, q.getQueryObject().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see DATAMONGO-538
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
public void addsDeprecatedSortCorrectly() {
|
||||||
|
|
||||||
|
Query query = new Query();
|
||||||
|
query.sort().on("foo", Order.DESCENDING);
|
||||||
|
|
||||||
|
assertThat(query.getSortObject().toString(), is("{ \"foo\" : -1}"));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see DATAMONGO-538
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void addsSortCorrectly() {
|
||||||
|
|
||||||
|
Query query = new Query().with(new org.springframework.data.domain.Sort(Direction.DESC, "foo"));
|
||||||
|
assertThat(query.getSortObject().toString(), is("{ \"foo\" : -1}"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2011 the original author or authors.
|
* Copyright 2010-2012 the original author or authors.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -15,13 +15,13 @@
|
|||||||
*/
|
*/
|
||||||
package org.springframework.data.mongodb.core.query;
|
package org.springframework.data.mongodb.core.query;
|
||||||
|
|
||||||
import static org.springframework.data.mongodb.core.query.Order.*;
|
|
||||||
import static org.hamcrest.CoreMatchers.*;
|
import static org.hamcrest.CoreMatchers.*;
|
||||||
import static org.junit.Assert.*;
|
import static org.junit.Assert.*;
|
||||||
|
import static org.springframework.data.mongodb.core.query.Order.*;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.springframework.data.mongodb.core.query.Sort;
|
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
public class SortTests {
|
public class SortTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user