2011-09-21 3 views
1

NHibernate 1.2에서는 데이터베이스 트리거에 의해 생성 된 ID를 가질 수 있습니까? 기본적으로 테이블을 변경하여 시퀀스 사용을 중지하고 대신 트리거를 사용하여 기본 키를 생성해야합니다. 그래서 분명히 다른 발전기 클래스를 사용하기 위해 nhibernate 매핑을 업데이트해야하지만 어떤 클래스를 사용해야하는지, 또는 1.2에서 지원되는지는 확실하지 않습니다. 어떤 도움이라도 대단히 감사하겠습니다. 감사!NHibernate 1.2 데이터베이스 트리거에 의해 생성 된 Id

답변

0

NHibernate에 당신이 만 starting from 2.1.0을 수행 할 수 있습니다

트리거 정체성

은 "트리거 정체성"는 POID 가에서 RDBMS에 의해 생성되는 NHibernate에 특정 기능입니다 INSERT 쿼리 통과 후 BEFORE INSERT 트리거. 이 경우

이 발전기는 편차 "를 선택"

를 선택 ... (지금까지) "단일 열"의 한계로, 사용자 정의 유형을 포함하여 지원되는 모든 유형을 사용할 수 있습니다 "방아쇠 신원"의. 이 생성기는 자연 ID 기능과 함께 작동합니다. 차이 "트리거 정체성은"

하면 (자 NHibernate의 최신 버전으로 업그레이드하지 않으려면 ... POID 값이 필터로 자연-ID 필드를 사용하여 SELECT 에 의해 검색되고 있다는 점이다 .NET 1.1 때문에?) Ayende's custom dialect solution을 시도하거나 NHibernate를 suggested here으로 확장 할 수 있습니다.

관련 문제