Del*_*nja 2 java mongodb querydsl spring-data
我按照本教程设置了MongoDB
http://www.littlelostmanuals.com/2011/09/spring-mongodb-type-safe-queries.html
一切都按预期工作,但现在我陷入了一个我希望能够在多个字段上查询的地方.
目前,我正在保存每种类型的存储库接口,并且可以在单个字段上搜索.
public interface StartedEventRepository extends
MongoRepository<DatablockStartedEvent, String>,
QueryDslPredicateExecutor<DatablockStartedEvent> {
}
Run Code Online (Sandbox Code Playgroud)
以下是单个参数的查询.
return startedEventRepo
.findOne(QDatablockStartedEvent.datablockStartedEvent.searchId
.eq(searchId));
Run Code Online (Sandbox Code Playgroud)
是否可以创建一个Query对象,我可以在其中说出类似于以下内容的内容.
if(someName != null){
query.where(QMyClass.name.eq(someName));
}
if(someTime != null){
query.where(QMyClass.time.eq(someTime));
}
List result = query.list();
Run Code Online (Sandbox Code Playgroud)
我试过看MongodbQuery但我无法让它工作.有任何想法吗?
我看到了一个例子http://www.mkyong.com/mongodb/spring-data-mongodb-update-document/但这使用了mongoTemplate.有没有办法通过存储库实现这一点,如果没有,它们是无用的吗?
它应该是可能的.也许这样的事情
BooleanBuilder builder = new BooleanBuilder();
if(someName != null){
builder.and(QMyClass.name.eq(someName));
}
if(someTime != null){
builder.and(QMyClass.time.eq(someTime));
}
repository.findAll(builder.getValue())
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6692 次 |
最近记录: |