최대 1 분 소요

엔티티의 개념과 특징

Entity란

: Entity 는 실제 데이터베이스의 테이블과 1:1로 매핑되는 클래스입니다

엔티티의 생명주기

  • 비영속 : 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태
  • 영속 : 영속성 컨텍스트에 관리되는 상태
  • 준영속 : 영속성 컨텍스트에 저장되었다가 분리된 상태
  • 삭제 : 삭제된 상태

JPA에서 Entity를 설계할때 주의점

  • Entity에는 가급적 Setter를 사용하지 말 것
    • Entity가 영속성이 유지되는 도중 수정되면 그 값은 DB에 그대로 반영됩니다. 그런데 Setter를 열어두고 값을 변경하는 경우에는 변경 포인트가 많아 유지보수가 어려워 질 수 있습니다.
  • 모든 연관관계는 지연로딩으로 설정한다
    • 즉시로딩(EAGER)를 사용 할 경우, 연관관계가 맺어진 엔티티들도 조회를 하기 때문에 원하지 않는 쿼리가 발생합니다
    • 컬렉션은 필드에서 바로 초기화하자
    • Entity는 최대한 순수하게 유지해야한다!!!

태그:

카테고리:

업데이트: