사용자 도구

사이트 도구


java:jpa:entity_listener

문서의 이전 판입니다!


Entity Listener

  • 엔티티의 저장 전/후, 삭제 전/후, 수정 전/후 작업을 지정할 수 있다.
  • 예. 엔티티 저장시마다 createdAt 필드에 현재 시간을 지정
    // Entity가 Creatable 인터페이스를 구현하고 있다고 간주
    public class CreatableListener {
      @PrePersist
      public void create(final Creatable entity) {
        entity.setCreatedAt(new Date());
      }
    }
  • create datetime, update datetime 관련 문제는 JPA Date Time 참고.

Hook 종류

  • PostLoad
  • PostPersist
  • PostRemove
  • PostUpdate
  • PrePersist
  • PreRemove
  • PreUpdate

주의점

  • PostPersist를 사용해 매핑된 필드를 수정하면 엔티티 save(insert) 후에 변경된 필드에 대한 update 가 발생하게 된다. 매우 주의해서 사용해야 한다.
java/jpa/entity_listener.1547453114.txt.gz · 마지막으로 수정됨: 2019/01/14 17:05 저자 kwon37xi