2012-06-05 2 views
1

저는 봄 3.1, 최대 절전 모드 4를 사용하여 새 프로젝트를 시작하고 있으며 응용 프로그램의 모든 활동을 추적해야합니다. 활동 추적 예제 who changed what?from what to what?at which time? 최대 절전 모드에 대한 입문서를 읽었습니다. 그리고 저에게 그것이 전혀 얻지 않는 한 활동 추적보다는 자료 역사의 더 많은 것 보인다.최대 절전 모드를 사용할 때 사용자 정의 필드를 만드는 방법

거기에 * _aud 테이블에 사용자 정의 테이블을 추가하기 위해 사용자 정의 필드를 추가하는 방법이 있습니다. 같은 date_createdlast_modified는 그 databefore 자신과 dataafter 다소의 fields.so 기본적으로 내가 테이블

만들어 앙 베르에 createdby, updatedby을 추가하고 싶습니다와 created_by, updated_by 그렇게 할 수있는 방법이 있습니까. 그렇다면 올바른 리소스를 가리 키도록하십시오.

읽어 주셔서 감사합니다.

+0

[this] (http://stackoverflow.com/questions/3963383/hibernate-envers-for-doctrine) 관련성이 있습니까? – maksimov

+0

정말, 최대 절전 모드에있어 내가 교리에 사용했던 일이 있는지 여부를 알아 내려고했습니다. –

답변

2

Envers에서 각 "생산"테이블에는 엔티티의 기록 상태를 저장하는 해당 * _AUD 테이블이 있습니다. 리비전 번호, 타임 스탬프 및 사용자 정의 열이 포함 된 글로벌 REVINFO (org.hibernate.envers.DefaultRevisionEntity) 테이블도 있습니다. DefaultRevisionEntity를 확장하는 방법을 보여주는 예제는 설명서에서 찾을 수 있습니다. 현재 * _AUD 테이블을 사용자 정의 할 수는 없지만 요청한 모든 질문에 Envers가 응답해야합니다.

  1. 누가 변경 했습니까? - 사용자 신임 정보를 REVINFO 테이블에 저장하십시오.
  2. 무엇부터 무엇까지? - 그건 아주 일반적인 질문입니다. :) org.hibernate.envers.AuditReaderorg.hibernate.envers.query.AuditQueryCreator을 사용해보세요.
  3. 언제? - 시간 소인은 REVINFO 테이블에 저장됩니다. 이 타임 스탬프는 사용자가 변경 사항을 커밋 한 시간을 반영합니다.
관련 문제