Life Developer
인생 개발자
[JPA]Criteria

Criteria는 그냥 쿼리를 코드로 짜는 방법이다.

간단한것 같지만 엄청 어렵다..

실무에서 안쓰는 걸추천...

 

못알아봐서 유지보수가 어렵다.......

 

 

//Criteria 사용준비
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Member> query = cb.createQuery(Member.class);

//루트 클래스 (조회를 시작할 클래스)
Root<Member> m = query.from(Member.class);

//쿼리 생성
CriteriaQuery<Member> cq=query.select(m).where(cb.equal(m.get("userName"),"kim"));
List<Member> resultList = em.createQuery(cq).getResultList();

 

 

 

뭐 아래와 같은 식으로 동적쿼리도 짤수있다.

 

//Criteria 사용준비
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Member> query = cb.createQuery(Member.class);

//루트 클래스 (조회를 시작할 클래스)
Root<Member> m = query.from(Member.class);

//쿼리 생성
String username = "name";
CriteriaQuery<Member> cq = query.select(m);
if (username != null) {

cq = cq.where(cb.equal(m.get("userName"), "kim"));
}


List<Member> resultList = em.createQuery(cq).getResultList();

'Developer' 카테고리의 다른 글

[JPA]Native Query  (0) 2020.09.21
[JPA]QueryDSL - 동적쿼리 실무사용권장  (0) 2020.09.21
[JPA]JPQL  (0) 2020.09.21
[JPA]테이블에 컬렉션을 저장한다-@ElementCollection,@CollectionTable  (1) 2020.09.20
[JPA]@Embeddable 문제점  (0) 2020.09.20
  Comments,     Trackbacks