[Beyond SW] Persistence Context

이경민·6일 전

한화시스템 Beyond SW

목록 보기
31/40

@Entity

@Entity 어노테이션은 JPA에서 엔티티 클래스임을 명시하는 어노테이션이다. 이 어노테이션이 붙은 클래스는 JPA에서 관리되는 엔티티이다.

@Table

@Table 어노테이션은 JPA에서 테이블임을 명시하는 어노테이션이다. 이 어노테이션을 사용하면 엔티티와 매핑할 테이블의 이름을 정할 수 있다.

@Id

@Id 어노테이션은 JPA에서 엔티티의 기본 키임을 명시하는 어노테이션이다. 이 어노테이션을 사용하면 엔티티 내에서 해당 필드를 기본 키로 사용할 수 있다.

@Column

@Column 어노테이션은 JPA에서 해당 필드가 테이블의 컬럼임을 명시하는 어노테이션이다. 이 어노테이션을 사용하면 엔티티 필드와 테이블 컬럼 간의 매핑을 정할 수 있다.

@GeneratedValue

@GeneratedValue 어노테이션은 JPA에서 엔티티의 기본 키를 자동 생성할 때 사용하는 어노테이션이다. 이 어노테이션을 사용하면 기본 키 생성 전략을 설정할 수 있다.]

엔티티의 생명주기

  1. 비영속 상태 (New/Transient) : 엔티티 객체가 생성되고, 아직 영속성 컨텍스트에 저장되지 않은 상태
  2. 영속 상태 (Managed) : 엔티티 객체가 영속성 컨텍스트에 저장된 상태. 이 상태에서 엔티티를 수정하면, 자동으로 데이터베이스에 반영된다.
  3. 준영속 상태 (Detached) : 엔티티 객체가 영속성 컨텍스트와 분리된 상태. 이 상태에서 엔티티를 수정해도, 데이터베이스에는 반영되지 않는다. 분리된 엔티티를 다시 관리 상태로 만들어주기 위해서는 EntityManager 객체의 merge() 메소드를 사용한다.
  4. 삭제 상태 (Removed) : 엔티티 객체가 영속성 컨텍스트에서 제거된 상태. 이 상태에서는 엔티티를 수정해도, 데이터베이스에는 반영되지 않는다

0개의 댓글