[데이터베이스]/JPQL
JPQL 소개
완벽한 장면
2023. 8. 28. 19:05
JPA는 다양한 쿼리 방법을 지원
JPQL 소개
JPQL
예시
JPAMAIN
public class JpaMain {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
try {
List<Member> result = em.createQuery(
"select m from Member m where m.username like '%kim% '", Member.class)
.getResultList();
tx.commit();
} catch (Exception e) {
tx.rollback();
e.printStackTrace();
} finally {
em.close();
}
emf.close();
}
}
실행 결과
Criteria 소개
단순 String 이면 동적 쿼리를 만들기가 엄청나게 어렵다.
이런식으로 엄청나게 복잡하게 가야 함.
띄어쓰기, 쉼표 같은 자잘한 것 신경쓰다가 버그나기 쉽다.
MyBatis의 장점은 동적쿼리를 짜기 편하다는 건데,
어쨌든 이런동적쿼리 짜기 문제를 해결하기 위해 나온 것이 Criteria이다.
Criteria
예시 코드 (별로 중요하지 않아서 실습 건너뜀)
QueryDSL 소개
예시코드 (추후 타 강의에서 소개 예정)
네이티브 SQL
예시코드
JDBC 직접 사용, SpringJdbcTemplate 등.
728x90
반응형