책 [자바 ORM 표준 JPA 프로그래밍]을 참고하여 작성하였습니다.
앞부분에 나오는 환경세팅 부분은 생략합니다.

데이터베이스마다 다음과 같은 면에서 차이점을 가진다.
엔티티 매니저 팩토리 생성
EntityManagerFactor emf = Persistence.createEntityManagerFactory("jpabook");
엔티티 매니저 생성
EntityManager em = emf.createEntity();
엔티티 매니저 종료
em.close()
엔티티 매니저 팩토리 종료
emf.close()
EntityTransaction tx = em.getTransaction();
try{
tx.begin();
logic(em); // 비즈니스 로직 실행
tx.commit(); //트랜잭션 커밋
}catch{
tx.rollback(); //예외 발생시 트랜잭션 롤백
}
엔티티 매니저를 통해 등록,수정,삭제,조회 작업이 이뤄짐.
애플리케이션이 필요한 데이터만 DB에 불러오려면 결국 SQL을 사용해야 한다.
JPA는 JPQL을 이용하여 이를 해결한다.
엔티티 객체를 대상으로 쿼리한다.데이터베이스 테이블을 대상으로 쿼리한다.