//객체를 단순히 생성만 했을때
Member member = new Member("member1","회원1");
Member member = new Member("member1","회원1");
EntityManagerFactory emf=Persistence.createEntityManagerFactory('unit name');
EntityManager em=emf.createEntityManager();
em.getTransaction().begin();
//객체 저장(영속)
em.persist(member);
//회원 엔티티를 영속성 컨텍스트에서 분리, 준영속 상태
em.detach(member);
//객체를 삭제한 상태(삭제)
em.remove(member);
Member member = new Member("member1","회원1");
//1차 캐시에 저장된다.
em.persist(member);
//1차캐시에서 조회
Member findMember=em.find(Member.class"member1");
EntityManager em=emf.createEntityManager();
EntityTransaction transaction = em.getTransaction();
//엔티티 매니저는 데이터 변경시 트랜잭션을 시작해야 한다.
transaction.begin();//트랜잭션 시작
em.persist(memberA);
em.persist(memberB);
// 여기까지 insert을 데이터베이스에 보내지 않는다.
//커밋하는 순간 데이터베이스에 insert sql 을 보낸다.
transaction.commit();//커밋
EntityManager em=emf.createEntityManager();
EntityTransaction transaction = em.getTransaction();
transaction.begin();//트랜잭션 시작
//영속 엔티티 조회
Member memberA=em.find(Member.class,"memberA");
//영속 엔티티 데이터 수정
memberA.setUsername("aaa");
memberA.setAge(19);
//em.update(member) <= 이런 코드가 있어야 하는가????
transaction.commit();//커밋
영속성 컨텍스트의 변경내용을 데이터베이스에 반영