JPA 장점

특정 데이터 베이스에 종속되지 않는다.

객체 지향적 프로그래밍 가능

생산성 향상

단점

복잡한 쿼리 처리 과정

성능 저하의 위험

학습 시간이 오래걸림.

영속성 컨텍스트 사용 시 이점.

1차 캐시

동일성 보장

트랜잭션을 지원하는 쓰기 지연(커밋 시점에 쌓아왔던 SQL문들을 DB에 반영)

변경 감지.

jpa메서드는 찾아보기!

// <entity, Pk 데이터 타입>
public interface ItamRepository extends JpaRepository<Item,Long>{
}

test database를 h2로 따로 설정한다.

h2 - 데이터를 메모리에 저장(인메모리), 빠르고 가벼움. 테스트 데이터 베이스로 많이 사용.

application-test.properties 따로 만들어줌.

JPQL

파라미터의 순서를 이용해 전달이 가능하지만.

JPQL정리

명시적인 방법으로 @Param 애너테이션을 추천한다고 한다.

JPQL은 컴파일 시점에 에러를 발견할 수 없다. 쿼리 오타 있어도 실행됨.