본문 바로가기

JAVA/JPA

(2)
JPA JPQL JPQL *가장 단순한 조회방법 **EntityManager.find() **객체 그래프 탐색(a.getB().getC())*나이가 18살이상인 회원을 모두 검색하고 싶다면? JPA를 사용하면 엔티티 객체를 중심으로 개발문제는 검색 쿼리검색을 할때도 테이블이 아닌 엔티티 객체를 대상으로 검색모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능애플리케이션이 필요한 데이터만 DB에서 불러오면 결국 검색조건이 포함된 SQL이 필요 JPA는 SQL을 추상화한 JPQL이라는 객체지향 쿼리 언어 제공SQL과 문법과 유사 SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN 지원JPQL은 엔티티 객체를 대상으로 쿼리SQL은 데이터베이스 테이블을 대상으로 쿼리 //검색String jpql ..
JPA 기본 주의엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체에서 공유엔티티 매니저는 쓰레득간에 공유하면 안된다(사용하고 버려야 한다)-Spring boot에서는 자동으로 생성해줌JPA의 모든 데이터 변경은 트랜잭션 안에서 실행-Spring안에서는 @Transactional 안에서 실행 데이터베이스 스키마 자동생성hibernate.hdm2ddl.auto -create : 기존테이블 삭제 후 다시 생성 (DROP + CREATE)-create-drop : create와 같으나 종료시점에서 테이블 DROP-update : 변경분만 반영(운영DB에서는 사용하면 안됨)-validate : 엔티티와 테이블이 정상매핑되었는지만 확인-none : 사용하지 않음 주의개발초기단계는 create 또는 update테스트 서버..