2013-11-26 2 views
5

내 모델 엔티티 중 하나에 대한 내역 추적/감사를 구현하고자합니다. 새 테이블을 사용하여 변경 한 사용자, 날짜 및 각 업데이트/삽입에서 변경된 로그를 저장합니다. .JPA로 내역 추적

JPA 공급자로 EclipseLink를 사용하고 있지만 공급자가 향후 변경 될 수 있으므로 History Policy을 사용하고 싶지 않습니다. 동일한 이유로 Hibernate Envers을 사용할 수 없습니다.

나는 auditing support which Spring Data provides을 살펴 보았지만 매우 기본적인 것처럼 보였고 변경 사항이 아닌 엔티티와 날짜를 작성하거나 수정 한 사용자 만 저장할 수 있습니다.

나는 또한 JPA의 prePersistpreUpdate에 대해 알고

하지만 specificacion은 말한다 : 일반적으로

, 휴대용의 EntityManager 또는 쿼리 작업을 호출하지 한다 응용 프로그램 액세스 기타 단체 인스턴스의 수명주기 방법, 동일한 지속성 내에서 관계를 수정하거나 수정하십시오. 컨텍스트.

이것을 구현하는 깨끗하고 쉬운 휴대용 방법이 있습니까?

답변

1

필자는 이력서 데이터를 추출하여 MAP으로 저장하는 역할을하는 별도의 EJB 서비스를 사용하여 수동으로 작성했습니다. 기본 데이터와 관계 ID 만 저장된다는 것은 매우 초보적이지만, 제 경우에는 충분합니다.

기본적으로 나는 약간의 반사로 영구 속성을 검사하고있었습니다.

+0

감사합니다. Andrei, 나는 그와 비슷한 것을 시도 할 것입니다. – zootropo