JPA는 다양한 방식으로 쿼리방법을 지원 JPQL JPA Criteria QueryDSL 네이티브 SQL JDBC API 직접사용, MyBatis, SpringJdbcTemplate와 함께 JPA Criteria 자바코드로 짜서 JPQL로 빌드해주는 제너레이터 네이티브 SQL은 JPQL써도 가끔 정말 DB종속적인 쿼리를 짜야할 때가 있음. 표준 SQL을 벗어나는. 거의 JPQL로 해결이 되긴 하는데, 정말 가끔 안될 때가 있다. 그 때 네이티브SQL이나 MyBatis나 스프링JDBCTemplate 같은 걸 쓰면 된다. JPQL은 엔티티중심적 언어. 테이블은 매핑만 하는 거고, JPQL은 엔티티 대상으로 작성하는 언어임. 결국 문제는 검색쿼리인데, JPQL은 검색도 테이블이 아닌 엔티티 객체를 대상으로 검..