질문
동일한 .hbm 구성으로 사전 컬렉션 교차 데이터베이스를 매핑하는 방법은 무엇입니까?기본 키가없는 NHibernate 사전 매핑
시나리오 I은 사전 특성에 매핑하는 것을 시도하고있다
:
Dictionary<string, string> Phrases { set; get; }
다음 .hbm 구성 :
<map
name="Phrases"
cascade="save-update"
table="ATTRIBUTE_LOCALE"
lazy="true">
<key column="RESOURCE_ID" /> <!-- foreign key -->
<index column="LOCALE_NAME" type="string" />
<element column="PHRASE" type="string" />
</map>
을 다음과 같은 테이블이 [ATTRIBUTE_LOCALE의 SQL을 만드는 것입니다 ] MS SQL 용 :
CREATE TABLE ATTRIBUTE_LOCALE (
CUID int IDENTITY(1, 1) NOT NULL,
RESOURCE_ID int NOT NULL,
FIELD_NAME nvarchar(255) DEFAULT 'VALUE' NOT NULL,
LOCALE_NAME nvarchar(255) NOT NULL,
PHRASE ntext NULL
);
하지만 데이터베이스를 MS SQL Server에서 Oracle 및 Oracle 데이터베이스로 변경하면 IDENTITY (1, 1)을 사용하여 기본 키를 자동으로 생성 할 수 없습니다. 오라클에서는 NULL 기본 키가있는 테이블 삽입으로 인해 문제가 발생합니다.
이 문제를 어떻게 해결할 수 있습니까?
내 요구 사항에서 ATTRIBUTE_LOCALE은 사전 속성을 매핑해야합니다. ATTRIBUTE_LOCALE에 .hbm 및 도메인을 추가 할 수 없습니다. 또한, .hbm 구성에 포함 된