2009-05-25 2 views
0

수정 된 행 ID (기본 키), 테이블 이름, 열 이름, 이전 값, 새 값, 변경 날짜 (타임 스탬프)를 저장하는 AuditEvent라는 테이블을 사용하여 감사 목적으로 데이터베이스에 모든 변경 사항을 기록하려고합니다. 조작 유형 (p 입/갱신/h 제)과 변경을 수행 한 사용자의 이름.iBATIS를 사용하여 감사 인터셉터를 구현하는 방법은 무엇입니까?

SQL Server 2005를 사용하고 있지만 연결 풀을 사용하기 때문에 현재 사용자를 찾기가 어려울 수 있으므로 트리거를 사용하고 싶지 않습니다.

인터셉터 기반의 Hibernate 솔루션은 매우 간단합니다. iBATIS/iBATOR를 사용할 때 비슷한 것을 어떻게합니까?

답변

0

스프링을 사용하는 경우 SqlMapClientDaoSupport를 사용하여 사용중인 트랜잭션 지원으로 감사를 마무리하는 템플릿 Dao 객체를 작성할 수 있습니다. 그렇지 않은 경우 iBatis DAO 템플릿 옵션 인 iBatis가 있습니다. 그건 당신이 봄 더 나을 수도 있으므로 절하되었습니다.

+0

iBator에서 생성 한 DAO는 이미 가지고 있지만 전혀 도움이되지 않습니다. 애스펙트 지향 기능을 제공하지 않고 모든 것을 수동으로 코딩해야하기 때문에 전혀 도움이되지 않습니다. 그건 내 솔루션, BTW : DAO 사용자 지정 코드, 리플렉션을 사용하여 삽입/업데이트 된 개체의 수정 된 특성을 찾아서 기록합니다. – muriloq

+0

@muriloq 이것이 가능한지는 알 수 없지만 스프링스 AOP 지원을보고 싶을 수도 있습니다. 트랜잭션 예제는 감사에 유용 할 수 있습니다. – sal

관련 문제