JPA 를 이용해 스프링 애플리케이션을 생성하고 삽입, 수정, 삭제를 진행해보았다.
객체를 생성하고 매핑하여 실제 데이터베이스에 해당 객체를 삽입할 수 있다.
엔티티 매니저란?
- 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체에서 공유한다.
- 엔티티 매니저는 쓰레드간에 공유해서는 안된다.
- JPA의 모든 데이터 변경은 트랜잭션 안에서 실행된다.
JPQL이란
- 단순한 조회방법으론 EntityManager.find()를 사용한다.
- 엔터티 객체를 중심으로 개발한다.
-모든 DB데이터를 객체로 변환해서 검색하는 것은 불가능하기 때문에, 필요한 데이터만 DB에서 불러오려면 조건이 포함된 SQL이 결국 필요하다.
- 객체지향 쿼리로서 SQL은 데이터베이스 테이블을 대상으로 쿼리하지만, JPQL은 엔티티 객체를 대상으로 쿼리를 사용한다. 특정데이터베이스 SQL에 의존하지 않아 속성을 통해 손쉽게 데이터베이스를 변경할 수 있다.
ETC
format sql : sql 을 깔끔한 형식으로 formatting 해줌