• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

질문있습니다.

22.03.27 16:57 작성 조회수 224

2

Auditing에서

@PreUpdate를 사용하면 자동으로 수정된 시간이 저장되는데요. 복습하다 궁금한점이 생겼습니다.

만약 회원의 마지막 접속 날짜를 얻어올려면 제가 생각하기에는 엔티티에 lastLogin 같은 LocalDateTime 타입의 필드를 추가해야 할것같은데요. 

즉, 로그인할때마다 lastLogin에 LocalDateTime.now()을 이용하여 해당 테이블에 업데이트시키면 될것같은데 생각해보니 lastLogin을 업데이트 시키면 @PreUpdate의 필드도 업데이트 쿼리가 수행되면 현재 시간이 저장됩니다.

그럼 뭔가 마지막 접속 날짜를 얻기위해 새로운 필드(lastLogin)을 추가하지않고 @PreUpdate를 이용하여 마지막 로그인 시간을 가져올 방법이 있지 않을까해서 질문드립니다.

 

만약 @PreUpdate를 이용하여 마지막 로그인 시간을 가져오는 방법이 없다면 제가 위에서 예시로 든것처럼 마지막 로그인 시간을 저장할 필드를 추가해야하나요?

답변 1

답변을 작성해보세요.

2

안녕하세요. 조윤호님

마지막 로그인 시간이라는 것이 어떤 것인가에 따라서 다를 것 같은데요.

엔티티를 업데이트 하는 시간과 다르다면, 결과적으로 로그인 시간을 어딘가에는 저장을 해두어야 할 것 같아요. 회원 필드가 아니라 별도의 테이블에 저장해두고, 필요할 때 꺼내서 사용하는 방법이 있을 것 같아요.

감사합니다.