JPA 장점
특정 데이터 베이스에 종속되지 않는다.
객체 지향적 프로그래밍 가능
생산성 향상
단점
복잡한 쿼리 처리 과정
성능 저하의 위험
학습 시간이 오래걸림.
영속성 컨텍스트 사용 시 이점.
1차 캐시
동일성 보장
트랜잭션을 지원하는 쓰기 지연(커밋 시점에 쌓아왔던 SQL문들을 DB에 반영)
변경 감지.
jpa메서드는 찾아보기!
// <entity, Pk 데이터 타입>
public interface ItamRepository extends JpaRepository<Item,Long>{
}
test database를 h2로 따로 설정한다.
h2 - 데이터를 메모리에 저장(인메모리), 빠르고 가벼움. 테스트 데이터 베이스로 많이 사용.
application-test.properties 따로 만들어줌.
파라미터의 순서를 이용해 전달이 가능하지만.
명시적인 방법으로 @Param 애너테이션을 추천한다고 한다.
JPQL은 컴파일 시점에 에러를 발견할 수 없다. 쿼리 오타 있어도 실행됨.