2009-03-17 2 views
1

NHibernate는 타임 스탬프를 지원하는 빌드를 가지고 있습니다. 그러나, 당신은 NHibernate에게 결코 프로퍼티를 업데이트하지 않거나 항상 업데이트하도록 지시 할 수있는 것으로 보인다.NHibernate에서 하나의 속성에 대한 커스텀 SQL을 실행하십시오.

현재 프로젝트에 "created_time"과 "updated_time"이 둘 다있는 여러 테이블이 있습니다. 두 테이블 모두 데이터베이스에서 생성됩니다.

나는 "created_time"과 "updated_time"에 대한 삽입 및 업데이트에만 삽입에 두 속성 너트는 "getdate()"을 사용 NHibernate에 지시하는 방법을 알아낼 수 없습니다.

이것이 가능합니까?

추 신 : 전 레거시 데이터베이스로 작업 중이므로 변경할 수 없으므로 트리거 등은 가능한 해결책이 아닙니다. 나는 또한하지 않는 한 그것은, 해결 될 수

답변

1

당신은 그 값을 설정하는 인터셉터를 만들어이 문제를 해결할 수 있지만, offcourse 다음, 그 값이 offcourse DBMS에 의해 생성되지 않습니다 ... DB가 이러한 값을 채우는 지 확인하는 방법을 알고 있지만이 문제에 대한 또 다른 솔루션에 관심이 있습니다. :)

+0

마지막으로 인터셉터 솔루션으로 정착했지만 특별한 속성이있는 경우 좋을 것입니다. –

1

어떤 버전의 NHibernate를 사용하고 있습니까?

  • 절대 (단정)
  • 삽입 (삽입 만에 생성 된 값을 검색합니다) 항상
  • :

    2.0에서는 속성에서 "생성"태그는 세 유효한 값이 (항상 생성 된 값을 검색합니다).