내용으로 건너뛰기
권남
사용자 도구
로그인
사이트 도구
검색
도구
문서 보기
이전 판
역링크
최근 바뀜
미디어 관리자
사이트맵
로그인
>
최근 바뀜
미디어 관리자
사이트맵
추적:
java:jpa:springdatajpa:audit
이 문서는 읽기 전용입니다. 원본을 볼 수는 있지만 바꿀 수는 없습니다. 문제가 있다고 생각하면 관리자에게 문의하세요.
====== Spring Data JPA Auditing ====== * ''AuditingEntityListener'' 를 통해 Entity Persist 시에 시간 정보, 생성자 정보 등을 자동으로 넣을 수 있다. ===== 사용 가능한 Annotation ===== * ''@CreatedBy'', ''@LastModifiedBy'' : 엔티티를 생성/수정한 사용자 정보 자동 주입 * ''@CreatedDate'', ''@LastModifiedDate'' : 엔티티 생성/수정 시간 자동 주입 ===== 설정 ===== * [[http://hantsy.blogspot.kr/2013/10/jpa-data-auditing.html|Forward Everyday: JPA Data Auditing]] ==== 매번 Entity Listener로 등록 ==== Entity 클래스에 매번 리스너를 등록해서 사용할 수 있다. <code java> @Entity @EntityListeners(value = { AuditingEntityListener.class }) </code> ==== orm.xml 로 한 번에 등록 ==== ''orm.xml''에 전역 Entity Listener로 등록할 수 있다. <code xml> <persistence-unit-metadata> <persistence-unit-defaults> <entity-listeners> <entity-listener class="org.springframework.data.jpa.domain.support.AuditingEntityListener" /> </entity-listeners> </persistence-unit-defaults> </persistence-unit-metadata> </code> 이 경우 gradle의 JPA Schema Generate가 ''NoClassDefFound'' 에러를 내며 올바로 작동하지 않았는데, 최상위 ''build.gradle''의 buildScript dependencies에 해당 클래스를 가진 라이브러리를 넣어주면되었다. ==== Spring 설정 ==== 그리고서 ''@EnableJpaAuditing'' 를 해줘야 한다. ==== @CreatedBy / @LastModifiedBy 용 AuditorAware 인터페이스 구현 ==== * ''AuditorAware'' 인터페이스를 구현하여 현재 쓰레드의 사용자 정보를 자동으로 넘겨줄 수 있도록 해야 두 애노테이션을 사용할 수 있다. * 이는, Web 계층이 도메인 계층에 침범하는 것이므로 권하지 않음. 시간 정보를 자동으로 넣는 수준에서만 사용 권장 <code java> @Configuration @EnableJpaAuditing class Config { @Bean public AuditorAware<AuditableUser> auditorProvider() { return new AuditorAwareImpl(); // AuditorAware 의 구현체 객체 생성 } } </code>
java/jpa/springdatajpa/audit.txt
· 마지막으로 수정됨: 2019/11/13 13:59 저자
kwon37xi
문서 도구
문서 보기
이전 판
역링크
맨 위로