diff --git a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbQuery.java b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbQuery.java index 21fe7ba01..8fae52197 100644 --- a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbQuery.java +++ b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbQuery.java @@ -12,6 +12,7 @@ import java.util.List; import com.google.code.morphia.Datastore; import com.google.code.morphia.Morphia; import com.google.code.morphia.mapping.cache.DefaultEntityCache; +import com.mongodb.BasicDBObject; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; @@ -37,6 +38,8 @@ import com.mysema.query.types.Predicate; public class MongodbQuery implements SimpleQuery>, SimpleProjectable { + private static final MongodbSerializer serializer = new MongodbSerializer(); + private final QueryMixin> queryMixin; private final EntityPath ePath; @@ -47,8 +50,6 @@ public class MongodbQuery implements SimpleQuery>, private final DBCollection coll; - private final MongodbSerializer serializer = new MongodbSerializer(); - private final DefaultEntityCache cache = new DefaultEntityCache(); public MongodbQuery(Morphia morphiaParam, Datastore datastore, @@ -175,7 +176,12 @@ public class MongodbQuery implements SimpleQuery>, private DBObject createQuery() { QueryMetadata metadata = queryMixin.getMetadata(); - return (DBObject) serializer.handle(metadata.getWhere()); + if (metadata.getWhere() != null){ + return (DBObject) serializer.handle(metadata.getWhere()); + }else{ + return new BasicDBObject(); + } + } @Override diff --git a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbSerializer.java b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbSerializer.java index e4e833d52..04e2c6090 100644 --- a/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbSerializer.java +++ b/querydsl-mongodb/src/main/java/com/mysema/query/mongodb/MongodbSerializer.java @@ -23,8 +23,8 @@ import com.mysema.query.types.*; */ public class MongodbSerializer implements Visitor { - public Object handle(Expression where) { - return where != null ? where.accept(this, null) : new BasicDBObject(); + public Object handle(Expression expression) { + return expression.accept(this, null); } public DBObject toSort(List> orderBys) {