entitymanager 2

[JAVA] JPA 영속성 관리

영속성 컨텍스트란? JPA를 이해하는데 가장 중요하다. 엔티티를 연구 저장하는 환경이라는 뜻이다. 영속성 컨텐스트는 눈에 보이는 것이 아니므로 EntityManager를 통해 접근한다. // DB에 저장하는게 아닌 엔티티를 영속성 컨텍스트라는 곳에 저장하는것 EntityManager.persist(entity); 1. 비영속 상태 : JPA와 관련없음(EntityManager와 상관없음 + 사용하지않음) // 비영속 상태 Member member = new Member(); member.setId(100L); member.setName("HelloJPA"); 2. 영속 상태 : EntityManager 사용 시점부터 영속 상태에 들어감 → 영속성 컨텍스트에 들어감 // 영속 상태 em.persist(me..

JAVA 2021.11.09

[JAVA] JPA 애플리케이션 개발

JPA의 구동방식을 아래 이미지로 보고 시작하자! 1. EntityManagerFactory 데이터베이스당 하나만 생성하여 전체에서 공유하여 사용해야 한다. 여기에 들어가는 name은 persistence.xml의 unit name 이다. 2. EntityManager EntityManager는 다른 쓰레드들과 공유하면 안된다. ( Connection과 같다고 보면됨 / conn도 쓰고 close로 버리는것 처럼 얘도 close가 필수다! ) 모든 DB 접근은 Manager를 거쳐야한다. 3. EntityTransaction DB에 삽입, 수정 등 이용할 때 트랜잭션 받아와서 사용하는게 필수! JPA의 모든 데이터 변경은 트랙잭션 안에서 수행한다. ( 조회-select 는 예외 일 수 있음 ) 4. JP..

JAVA 2021.11.02