본문 바로가기
Java , Spring/Jpa

[JPA] JPA 시작하기

by 방배킹 2023. 10. 3.

JPA  시작하기

EntityManagerFactory를 만들고 EntityManagerFactory에서 EntityManager를 만든다,

EntityManagerFactory는 하나, EntityManager는 고객의 요청이 올떄마다 생성하고 사용후 버린다. (em은 쓰레드간의 공유 X)

EntityManagerFactory emf = Persistence.createEntityManagerFactory("example");
EntityManager em = emf.createEntityManager();

em.close();
emf.close();

객체 저장하기

Member member = new Member();
em.persist(member);

EntityManager의 persist를 통해서 객체를 저장할수 있다.

 

EntityTransaction

EntityTransaction tx = em.getTransaction();
tx.begin();
tx.commit();

//오류 발생시
tx.rollback();

persist한 객체를 DB에 저장하려면 commit을 해줘야한다,

 

찾기, 삭제, 수정

//찾기
em.find(Memer.class, 1L); // 뒤에는 pk를 적어준다.

// 삭제
em.remove(member);

//수정 -> find를 통해 찾고 setter를 통해 변경해준다.

setter를 통해 변경을 한뒤 persist를 할필요가 없다.

JPA에서는 transaction을 commit하는 시점ㅇ에 변경사항을 찾아서 업데이트 쿼리를 자동으로 작성해준다,

 

JPQL

단순한 찾기는 find를 통해 찾지만 모든회원 찾기와 같은 복잡한 경우는 JPQL을 사용한다,

em.createQuery("select m from Member as m", Member.class);

table이 아닌 객체를 대상으로 쿼리를 작성한다,

'Java , Spring > Jpa' 카테고리의 다른 글

[JPA] 상속관계 매핑  (0) 2023.11.01
[JPA] 연관관계  (0) 2023.10.08
[JPA] 엔티티 매핑  (0) 2023.10.06
[JPA] 영속성 관리 - 영속성 컨텍스트  (0) 2023.10.03
Entity, DTO, DAO  (0) 2023.08.20

댓글