2011-07-26 2 views
0

에 따라 열을 만들어 작성 -이 열은 행 창조의 날짜와 시간을 저장해야합니다.은 NHibernate에 내가이 created_on 열을 만들려고 해요 버전 열

나는 또한 레코드의 최종 업데이트 시간을 보유하는 컬럼 인 Version Column을 사용하고 있습니다. 이것은 Nhibernate와 함께 제공됩니다.

내가하고 싶은 일은 행이 db에 삽입 될 때 버전 열 값을 created_on 열에 복사하는 것입니다. 버전이 수정되고 엔티티가 새로운 경우 의 의미는, 내가 created_on 열 내부 버전 열의 값을 둘 필요가 (우리는 미리 세척 있습니다) 그게 다야.

지금까지 필자는 인터셉터를 사용하고 PreFlush를 오버라이드 한 후 추가 업데이트만으로이를 수행했습니다.

나는 Oracle에서 Nhibernate 3을 사용하고 있습니다. 제안 사항이 있습니까? 당신이 데이터베이스 트리거를 사용하지 않는 이유는 ... NHibernate에 대해 아무것도 알고 있지만하지 않는

답변

1

까지 나는 ... 이해 할 수 있습니까? 삽입 후 트리거.

또는 더 간단하게 (또는 너무 간단하게) 기본값 sysdate로 created_on 열을 만들 수 있습니다. 당신은 "DB 타임 스탬프"버전을 사용하는 것처럼

+0

여러 데이터베이스에서 작업 중입니다. –

+0

나는 당신의 질문/상황을 이해하지 못한다고 생각합니다. –

1

는 소리가 난다. 대신에 일반적인 타임 스탬프를 사용할 수 있습니까? 코드에서 값을 설정하는 경우이 작업은 간단합니다.

또 다른 대안은 작성된 열을 변경 불가능한 (읽기 전용) 것으로 설정하고 데이터베이스 레벨 기본값 CURRENT_TIMESTAMP를 사용하는 것입니다. DB를 사용하여 버전 열을 설정하는 것이 맞으면 삽입에 대한 두 열의 값이 동일해야합니다.

관련 문제