Название довольно очевидно, но ...
Ребята, я использую MongoRepository с QueryDSL, например:
interface MyRepository
extends MongoRepository<MyObject, String>,
MyRepositoryCustom,
QuerydslPredicateExecutor<MyObject>
Как я могу использовать QueryDSL в моем собственном репозиторииMyRepositoryCustom
?
У меня есть интерфейс:
interface MyRepositoryCustom {
Optional<MyObject> findUsingValues(String value1, String value2);
}
Я хочу использовать findOne
, который получает Predicate
в качестве параметра в моем Impl как:
public class MyRepositoryCustomImpl implements MyRepositoryCustom {
@Override
Optional<MyObject> findUsingValues(String value1, String value2){
BooleanBuilder builder = new BooleanBuilder();
//Mount builder with values and Query Objects
return findOne(builder.get());//How can I make this line work?
}
}
РЕДАКТИРОВАТЬ Я пытался расширить де QuerydslPredicateExecutor
в MyRepositoryCustomImpl
, но метод так и не был достигнут.Я думаю, что это из-за уникального конструктора, необходимого для QuerydslPredicateExecutor
.
например:
public class MyRepositoryCustomImpl extends QuerydslPredicateExecutor<MyObject> implements MyRepositoryCustom {
public MyRepositoryCustomImpl(MongoEntityInformation<MyObject, ?> entityInformation, MongoOperations mongoOperations) {
super(entityInformation, mongoOperations);
}
@Override
Optional<MyObject> findUsingValues(String value1, String value2){
BooleanBuilder builder = new BooleanBuilder();
//Mount builder with values and Query Objects
return findOne(builder.get());//How can I make this line work?
}
}