(하이버네이트) @EntityListeners

<Entity Listener 란?>

엔티티를 DB에 적용하기 이전 이후에 커스텀 콜백을 요청할 수 있는 어노테이션이다.
예를들어 아래와 같이 업데이트 이전에 Account.lastDate를 교체해 줄 수 있다.

public class AccountListener
{
  //업데이트 이전
 @PreUpdate
  //Account 클래스 에서 작동.
  void onUpdate(Account account)
  {
   account.setLastDate(new Date());
  }
}


그리고 Account 클래스는 다음과 같이 추가해준다.
// {}를 사용하여 복수개의 클래스르 지정할 수 있다.
@EntityListeners(AccountListener.class)
//생략
public class Account
{
   //생략
}

이렇게 하면 update 가 일어나기 전에 Account.lastDate를 현재시간으로 바꾸어주게된다.


댓글

이 블로그의 인기 게시물

(18장) WebSocekt과 STOMP를 사용하여 메시징하기

(네트워크)폴링방식 vs 롱 폴링방식

(스프링) 컨트롤러에서 쿠키 사용하기