JPA 라이프 사이클 이벤트 주석

6253 단어 jpaejb

라이프 사이클 이벤트 주석


라이프 사이클 이벤트 동안 사용자 정의 논리를 실행해야 하는 경우 다음 라이프 사이클 이벤트 주석을 사용하여 라이프 사이클 이벤트 및 콜백 방법을 연관시킵니다.
  • @PostLoad
  • @PostPersist
  • @PostRemove
  • @PostUpdate
  • @PrePersist
  • @PreRemove
  • @PreUpdate

  • 그림 1-1은 JPA가 지원하는 실체 생명주기 이벤트 간의 관계를 보여 줍니다.
    실체 방법에 대해 직접 주석을 달거나 하나 이상의 실체 감청 프로그램 종류를 지정할 수 있습니다(@EntityListeners 참조).
    솔리드 방법에 직접 주석을 달면 솔리드 방법은 다음과 같은 요구 사항을 충족해야 합니다.
  • 실체류 방법은 반드시 다음과 같은 서명이 있어야 한다.
    public int <MethodName>()

  • 실체류 방법은 ejb으로 시작하지 않는 한 어떤 방법 이름도 가질 수 있다.

  • 그림 1-1 JPA 솔리드 라이프 사이클 콜백 이벤트 주석
    "그림 1-1 JPA 솔리드 라이프 사이클 콜백 이벤트 주석" 설명

    @PostLoad


    실체를 데이터베이스의 현재 지속적인 상하문에 불러오거나 새로 고침 작업을 적용한 후 실체의 @PostLoad 방법을 호출합니다.검색 결과를 되돌리거나 접근하기 전에 또는 연결을 반복하기 전에 이 방법을 호출합니다.
    솔리드 라이프 사이클의 이 점에서 사용자 정의 논리를 호출하려면 @PostLoad 주석을 사용합니다.
    이 주석은 속성 。 , API
    <!---->

    @PostPersist

    @PostPersist 리셋 방법이 없습니다.이 조작이 겹쳐진 모든 실체에 대해 이 방법을 호출합니다.데이터베이스 삽입 작업 후에 이 방법을 호출합니다.이러한 데이터베이스 작업은 지속적인 작업이 호출된 후에 즉시 발생할 수도 있고, 리셋 작업(사무가 끝날 때 발생할 수도 있음)이 발생한 후에 즉시 발생할 수도 있다.PostPersist 메서드에서는 생성된 키 값을 제공합니다.@PostPersist 주석을 사용하여 관련 객체에 대한 공지 또는 객체를 삽입할 때까지 업데이트할 수 있는 정보를 알려 줍니다.
    이 주석은 속성 。 , API

    <!---->

    @PostRemove

    @PostRemove 리셋 방법이 없습니다.이 조작이 겹쳐진 모든 실체에 대해 이 방법을 호출합니다.데이터베이스 삭제 작업 후에 이 방법을 호출합니다.이러한 데이터베이스 작업은 삭제 작업이 호출된 후에 즉시 발생할 수도 있고, 새로 고침 작업(사무가 끝날 때 발생할 수도 있음)이 발생한 후에 즉시 발생할 수도 있다.@PostRemove 주석을 사용하여 관련 객체에 알립니다.
    이 주석은 속성 。 , API

    <!---->

    @PostUpdate

    @PostUpdate 리셋 방법이 없습니다.이러한 데이터베이스 작업은 실체 상태를 업데이트할 때 발생할 수도 있고, 상태를 데이터베이스로 갱신할 때 발생할 수도 있다.이 리셋이 실체를 오래 저장하고 단일 업무에서 실체를 수정할 때 발생하는지, 아니면 실체를 수정하고 단일 업무에서 실체를 삭제할 때 발생하는지 주의하십시오.이식 가능한 응용 프로그램은 이 행위에 의존해서는 안 된다.
    솔리드 라이프 사이클의 이 점에서 사용자 정의 논리를 호출하려면 @PostUpdate 주석을 사용합니다.
    이 주석은 속성 。 , API

    <!---->

    @PrePersist

    EntityManager , @PrePersist 리셋 방법이 없습니다.통합 작업을 적용하고 새 관리를 만드는 실례를 만든 실체의 경우 실체 상태를 복사한 후 관리의 실례에 대해 이 방법을 호출합니다.이 조작이 겹쳐진 모든 실체에 대해 이 방법을 호출합니다.
    솔리드 라이프 사이클 동안 이 점에서 사용자 정의 논리를 호출하려면 @PrePersist 주석을 사용합니다.
    이 주석은 속성 。 , API

    <!---->

    @PreRemove

    EntityManager , @PreRemove 리셋 방법이 없습니다.이 조작이 겹쳐진 모든 실체에 대해 이 방법을 호출합니다.
    솔리드 라이프 사이클의 이 점에서 사용자 정의 논리를 호출하려면 @PreRemove 주석을 사용합니다.
    이 주석은 속성 。 , API

    <!---->

    @PreUpdate

    @PreUpdate 리셋 방법이 없습니다.이러한 데이터베이스 작업은 실체 상태를 업데이트할 때 발생할 수도 있고, 상태를 데이터베이스로 갱신할 때 발생할 수도 있다.주의: 이 리셋은 실체를 오래 저장하고 단일 업무에서 수정할 때 발생하는지 여부입니다. 모두 실시에 의존합니다.이식 가능한 응용 프로그램은 이 행위에 의존해서는 안 된다.
    솔리드 라이프 사이클의 이 점에서 사용자 정의 논리를 호출하려면 @PreUpdate 주석을 사용합니다.
    이 주석은 속성 없음 。 , API

    좋은 웹페이지 즐겨찾기