我有一个Spring Data存储库类,如:
@RepositoryDefinition(domainClass = Book.class, idClass = Long.class)
public interface BookRepository {
List<Book> findAll();
List<Book> findByOrderByPublishDateDesc();
Book findOne(Long id);
Book save(Book book);
boolean exists(Long id);
void delete(Long id);
Iterable<Book> findAll(Predicate predicate, OrderSpecifier<?>... orders);
}
标准的crud方法确实有效,但findAll(来自JpaSpecificationExecutor)并不起作用。
@RepositoryDefinition
存储库是否支持使用querydsl(或jpa规范)谓词感知方法?
答案 0 :(得分:1)
根据javadoc
用于划分接口的注释应为其创建存储库代理。使用
RepositoryDefinition
注释接口将导致与扩展Repository
相同的行为。
所以它只支持Repository
上可用的基本集(至少这是我从文档中推断出来的)。如果你想要更多,你可能需要在添加注释旁边扩展特定的界面。
@RepositoryDefinition(domainClass = Book.class, idClass = Long.class)
public interface BookRepository extends JpaSpecificationExecutor<Book> {}