이 글은 인프런 김영한님의 자바 ORM 표준 JPA 프로그래밍 강의를 참고하여 작성하는 글입니다!
1️⃣ 비영속
Member member = new Member();
member.setId("member1");
member.setName("사용자1");
2️⃣ 영속
EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
em.persist(member);
3️⃣ 준영속
em.detach(member); //특정 엔티티만 준영속 상태로 전환
em.clear(); //영속성 컨텍스트를 완전히 초기화
em.close(); //영속성 컨텍스트를 종료
4️⃣ 삭제
em.remove(member);
Member findMember = em.find(Member.class, "member1");
Member findMember = em.find(Member.class, "member1");
Member member1 = em.find(Member.class, "member1");
Member member2 = em.find(Member.class, "member2");
System.out.println(member1 == member2);
=> true
EntityTransaction transaction = em.getTransaction();
transaction.begin();
em.persist(member1);
em.persist(member2);
//insert 쿼리가 발생하지 않음
transaction.commit();
//커밋하는 순간 데이터베이스에 insert 쿼리를 보낸다.
EntityTransaction transaction = em.getTransaction();
transaction.begin();
em.persist(member1);
em.persist(member2);
//insert 쿼리가 발생하지 않음
transaction.commit();
//커밋하는 순간 데이터베이스에 insert 쿼리를 보낸다.
[참고자료]