您好,登錄后才能下訂單哦!
在Spring Data JPA中使用Criteria API構建類型安全的查詢,可以通過以下步驟:
創建一個接口繼承自JpaRepository
,并傳入實體類和主鍵類型作為泛型參數,例如:public interface UserRepository extends JpaRepository<User, Long> {}
。
在接口中定義一個方法,命名規則為findByXXX
,其中XXX
為實體類中的屬性名稱,然后使用CriteriaBuilder
構建查詢條件。
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByFirstNameAndLastName(String firstName, String lastName);
}
CriteriaBuilder
構建查詢條件,如下所示:@Repository
public class UserRepositoryImpl {
@PersistenceContext
private EntityManager entityManager;
public List<User> findByFirstNameAndLastName(String firstName, String lastName) {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<User> query = cb.createQuery(User.class);
Root<User> root = query.from(User.class);
Predicate predicate = cb.and(
cb.equal(root.get("firstName"), firstName),
cb.equal(root.get("lastName"), lastName)
);
query.select(root).where(predicate);
TypedQuery<User> typedQuery = entityManager.createQuery(query);
return typedQuery.getResultList();
}
}
List<User> users = userRepository.findByFirstNameAndLastName("John", "Doe");
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。