如何在不使用查询dsl或自定义存储库的情况下传递where子句?
public interface PlTransactionsRepository extends PagingAndSortingRepository<PlTransactions, Integer>, JpaSpecificationExecutor<PlTransactions> {
@Query(value = "SELECT a FROM PlTransactions :whereClause")
List<PlTransactions> selectTrxForRecon(@Param("whereClause") Integer whereClause);
}
1条答案
按热度按时间m1m5dgzv1#
对于动态where查询,不应使用JPQL,而应使用Criteria API或Spring Data JPA
JpaSpecificationExecutor
如果你实现了
JpaSpecificationExecutor
,你将得到find方法,你可以在那里传递一个Specification
。一个规范将形成动态的where子句。请在文档中查找更多信息:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#specifications