2017-12-22 33 views
-2

내 회사에서 Java 개발자이며 최대 절전 모드 orm을 사용합니다. Data Architects는 데이터 관련 목적으로 모든 데이터베이스의 모든 테이블에 대해 감사 열 (CREATE_DATE, CREATED_BY, UPDATE_DATE, UPDATED_BY)을 원했습니다. 이것은 약간 이상하게 보입니다. 응용 분야에서 이러한 필드를 사용하지 않기 때문입니다. 모든 최대 절전 모드 DAO 객체에 이러한 감사 필드가 기본 클래스를 만들기감사 열에 대한 트리거 사용

  • :

    우리의 Java 응용 프로그램의

    것 같아요, 우리는 두 가지 옵션이 있습니다.

  • 테이블 트리거를 정의하여 이러한 열을 업데이트합니다.

내가 선호해야하는 이유와 그 이유는 무엇입니까? 다른 제안?

+0

Data Architects가 여러분에게 선택의 폭을 넓혔습니다. 감사 열은 트리거에 의해 설정되고 업데이트되어야하며 관리 할 코드에 의존하지 않아야합니다. 그들은 당신의 코드를 사용하거나 심지어 알고 있기 때문에, 필요하다면 법의학 분석을위한 행 업데이트를 감사해야합니다. –

+0

Hibernate Envers를 살펴보십시오. http://hibernate.org/orm/envers/ –

+0

@ErwinBolwidt 나는 envers를 알고 있습니다. 당신은 옵션 1을 제안하고 있습니까? – irfangoren

답변

0

내 이해와 경험에 따라 2 번째 옵션 만이 유일한 옵션입니다. 이는 데이터가 애플리케이션 외부에서 테이블에 업데이트/채워지는 경우 (배치 작업/데이터 수정 등) 때문입니다. .) 첫 번째 옵션은 작동하지 않습니다.

또 다른 옵션은 데이터 업데이트가 PL SQL을 통해서만 발생하는 경우 PL SQL 팀이 해당 코드를 변경하여 코드에서 이러한 열을 업데이트 할 수 있다는 것입니다. 그러나 코드가 거대한 경우이 작업은 많은 작업이 될 것입니다.

전반적으로 트리거가 최상의 선택 인 것으로 보입니다.