[JPA]持続性管理-Entityライフサイクル
JPAで最も重要な2つ▼🏻
終了ライフサイクル
-非永続
(new/transient) : 영속성 컨텍스트와 전혀 상관없는 새로운 상태
Member member = new Member();
member.setId(1L);
member.setName("kitty");
// -> jpa에서 전혀 관리되지 않는 상태이다.
-永続的
managed : 영속성 컨텍스트에 관리되는 상태
Member member = new Member();
member.setId(1L);
member.setName("kitty");
EntityManagerFactory emf = Persistence.createEntityManagerFactory("name");
EntityManager em = emf.createEntityManager();
em.getTransaction.begin();
em.persist(member); // 영속성 컨텍스트에 저장
em.persist(member)
は、データベースに直接保存されていないことに注意してください.insert SQL
は、永続性コンテキストに格納される.-永遠に
detached : 영속성 컨텍스트에서 분리된 상태
Member member = em.find(Member.class, 1L);
member.setName("catty");
em.detach(member);
tx.commit();
// -> commit이 되기 전 memeber는 영속성 컨텍스트에서 분리 되었기 때문에
// update 쿼리갸 실행되지 않는다.
準永久状態にする方法-削除
remove : 영속성 컨텍스트에서 삭제된 상태
Member memeber = em.find(Member.class, 1L);
em.remove(member); // delete SQL 생성,저장
tx.commit(); // delete SQL 실행
リファレンス
Java ORM標準JPAプログラミング-基本編 Java ORM標準JPAプログラミング(金英漢)
あなたのフィードバックを歓迎します🤗
Reference
この問題について([JPA]持続性管理-Entityライフサイクル), 我々は、より多くの情報をここで見つけました https://velog.io/@purple/JPA-영속성-관리-Entity-생명주기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol