본문 바로가기

jpa6

엔티티 매핑과 기본키 전략 엔티티 매핑 객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리하는 엔티티라고 한다 JPA를 사용해서 테이블과 매핑할 클래스는 해당 어노테이션을 붙인다. 기본 생성자가 필수적으로 필요하다. 속성 name @Entity(name="{entityName}") 형태로 사용한다. JPA에서 사용할 엔티티 이름을 지정한다. (show_sql 옵션 확인 시 테이블 alias 형태로 사용) 기본값은 클래스의 이름을 그대로 사용한다. 가능한 기본값을 그대로 사용하는것을 권장. @Table @Table은 엔티티와 매핑할 테이블을 지정한다. 속성 name 매핑할 테이블 이름 (엔티티 이름을 기본값으로 사용) catalog 데이터베이스 catalog 매핑 schema 데이터베이스 schema 매핑.. 2021. 12. 23.
영속성 컨텍스트와 플러시 영속성 관리 (영속성 컨텍스트) 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 단어 Entity를 영구 저장하는 환경 이라는 논리적인 개념이다. EntityManager.persist(entity); persist() 호출 시 DB에 저장하는 것이 아니라 영속성 컨텍스트에 영속화 한다. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근 엔티티의 생명주기 비영속 (new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 // 객체를 생성한 상태(비영속) Member member = new Member(); member.setId("member1"); member.setName("hello koo"); 영속 (managed) 영속성 컨텍스트에 관리되는 상태 // 객체를 생성한 상태(비영속) .. 2021. 12. 23.