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
との結合を実行するにはどうすればよいですか?