You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
관리자의 입장에서 유저의 정보들이 누락되는 경우 민원 처리나 클레임을 대처할 때, 어려움이 있을 수 있다. 그러한 점을 고려하여 미션 인증 내역을 따로 저장하는 기능을 구현했다. 그 과정에서 고려한 기능은 일반 테이블에 JPA로 자동 기록하게 하는 형식과 envers 라이브러리를 통한 내역 테이블 자동생성 두 기능을 비교하였다.
일반 테이블에 JPA로 자동 기록하게 하는 형식
방법: JPA @PrePersist 와 @PreUpdate를 통하여 테이블 자동 생성
장점: 원하는 정보만을 선별하여 꼭 필요할 때에만 내역을 저장할 수 있다.
단점: 자바class가 여러 개가 생성되며 단순 내역 기록에 사용되기에는 코드의 양이 많은 편이다.
envers 라이브러리
방법: envers를 사용하여 @Audited와 @NotAudited로 테이블 내 정보를 선별하여 Rev파일 자동 생성
장점: 이미 생성되어 있는 테이블에 어노테이션 @Audited로 테이블에 변경사항이 생길 때 자동으로 내역 테이블을 별도의 클래스 없이 생성한다.
단점: 테이블 내에 있는 정보가 아니면 기록되지 않는다.
결론: 필요한 정보가 submitMission 테이블에 존재하기 때문에 envers 라이브러리를 사용하기로 결정.