【发布时间】:2012-05-29 16:17:31
【问题描述】:
我已经按照本教程设置了 MongoDB
http://www.littlelostmanuals.com/2011/09/spring-mongodb-type-safe-queries.html
一切都按预期工作,但现在我被困在我希望能够查询多个字段的地步。
目前,我保存的每种类型都有存储库接口,并且可以在单个字段上进行搜索。
public interface StartedEventRepository extends
MongoRepository<DatablockStartedEvent, String>,
QueryDslPredicateExecutor<DatablockStartedEvent> {
}
下面是单个参数的查询。
return startedEventRepo
.findOne(QDatablockStartedEvent.datablockStartedEvent.searchId
.eq(searchId));
是否可以创建一个查询对象,我可以在其中说类似于以下内容。
if(someName != null){
query.where(QMyClass.name.eq(someName));
}
if(someTime != null){
query.where(QMyClass.time.eq(someTime));
}
List result = query.list();
我已尝试查看 MongodbQuery,但无法使其正常工作。有任何想法吗?
我看到了一个示例 http://www.mkyong.com/mongodb/spring-data-mongodb-update-document/,但这使用了 mongoTemplate。有没有办法通过存储库来实现这一点,如果没有,它们就没用了吗?
【问题讨论】:
标签: java mongodb spring-data querydsl