0
我有這個資源庫:如何從HQL查詢創建謂詞?
@Repository
public interface UserRepository extends
JpaRepository<User, String>,
JpaSpecificationExecutor<User> {
@Query("select u from User u, UserRole ur " +
"where u.dep = ur.dep " +
"and u.allowed = 1")
List<User> getAllowed();
}
但我想通過一個自定義的春天數據Specification
改變@Query
,爲了把它想:
repository.findAll(new Allowed());
所以我已經加入extends JpSpecificationExecutor<User>
到我的倉庫現在我試圖創建Specification
實現:
public class Allowed implements Specification<User> {
@Override
public Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
//??
}
}
如何將上述查詢轉換爲謂詞?我如何執行與UserRole
實體的加入?