IT/JPA
엔티티 삭제
WsCode
2022. 5. 5. 20:04
깃허브 정리 URL : https://github.com/sWineTake/jpa.git
GitHub - sWineTake/jpa: 자바 ORM 표준 JPA 프로그래밍 - 김영한
자바 ORM 표준 JPA 프로그래밍 - 김영한. Contribute to sWineTake/jpa development by creating an account on GitHub.
github.com
엔티티를 삭제하려면 먼저 삭제 대상 엔티티를 조회해야 합니다.
Member memberA = em.find(Member.class, "memberA");
em.remove(memberA);
em.remove() 에 삭제 대상 엔티티를 넘겨주면 엔티티를 삭제합니다.
등록과 동일하게 삭제시에도 트랜잭션을 커밋 후 플러시를 호출하면 DB에 삭제 쿼리를 전달합니다.
em.remove()를 호출하는 순간 영속성 컨텍스트에서 제거됩니다.
이렇게 삭제된 엔티티는 재사용하지않고 자연스럽게 가비지 컬렉션의 대상이 되도록 두는게 좋습니다.