Ich habe dieses Repository:Wie kann ich ein Prädikat aus einer HQL-Abfrage erstellen?
@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();
}
Aber ich will die @Query
von einem benutzerdefinierten Spring Data Specification
, um es zu nennen mag sich ändern:
repository.findAll(new Allowed());
Ich habe hinzugefügt extends JpSpecificationExecutor<User>
zu meinem Repository So und jetzt versuche ich die Specification
Implementierung zu erstellen:
public class Allowed implements Specification<User> {
@Override
public Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
//??
}
}
Wie kann ich die obige Abfrage in ein Prädikat konvertieren? Wie kann ich die Verknüpfung mit UserRole
Einheit durchführen?