데이터를 수정하던 중에 이 모든 변경사항을 관리하는 방법은 없을까? 라는 의문이 들었다.그래서 Aop, EventListener 등 생각을 해보고 관련 정보를 찾아보던 중 Hibernate의 envers라는 모듈을 알게 됐다. 정확히는 김영한님의 envers 모듈 세션을 듣게 됐고 해당 내용을 간략히 정리하려고 한다. 방법은 간단하다. 의존성을 추가하고 이력관리를 하고 싶은 Entity 위에 @Audited 어노테이션을 추가하면 된다. 예제를 통해서 좀 더 자세히 알아보자.Member 정보는 아래와 같다create table member( id serial primary key, name varchar);@Entity@Builder@Getter@NoArgsCon..
스프링에서는 트랜잭션을 사용할 때 @Transactional 어노테이션을 사용한다. @Transactional 어노테이션의 속성 중 propagation(전파) 이라는 것이 있는데, 이미 트랜잭션이 진행중일 때 추가 트랜잭션 진행을 어떻게 할지 결정하는 것이 전파 속성(Propagation)이다. 전파 속성에는 총 7가지가 옵션이 있는데 이에 대한 자세한 내용은 https://mangkyu.tistory.com/269 해당 블로그에 자세히 나와 있으니 참고하면 되겠다. 오늘은 이 중 Nested라는 옵션을 사용해보도록 하겠다. 위의 블로그에 나와 있듯이 Nested 옵션은 JPA에서 지원하지 않는다. 따라서 Jpa를 사용하지 않고 단순히 JdbcTemplate을 사용하면 될 것 같지만, 따로 설정을..
- Total
- Today
- Yesterday

