簡體   English   中英

NHibernate-關聯上的Composite-Id-父代ID不相同的Composite

[英]NHibernate - Composite-Id on relation - Where ID of parent is not same composite

說我在Oracle數據庫中有這些表

人:
PersonId <-PK ID(int,從序列開始)
PersonFirstNameID <-整數
PersonLastNameID <-整數
PersonSecurityID <-整數

人員詳細信息
PersonFirstNameID -CompositeKey
PersonLastNameID -CompositeKey
PersonSecurityID -CompositeKey
PersonDetailKey
PersonDetailValue
PersonDetail風險

現在,我想在NHibernate中建立從Person到PersonDetails的一對多關系模型。

我怎樣才能做到這一點? 我嘗試設置代表復合ID的組件,並通過屬性ref將其饋入一對多,但是這會生成帶有重復列的SQL,並引發以下錯誤:System.ArgumentException:Identifier type mismatch; 發現:預期:

NHibernate文檔僅討論在兩個復合ID相同時執行此操作。

是的...不是我的數據庫架構,它是舊式數據庫,訪問權限非常有限。

不太清楚。

為了使外鍵關系正常工作,子級必須引用父級的主鍵,因此數據結構建議人員的主鍵為FirstNameId / lastNameid / securityid(因此,最好的做法是忽略personid列) 。

是Person_Id實際上是主鍵(在數據庫中定義為PK),還是數據庫的PERSON主鍵版本實際上是FirstNameId / lastNameid / securityid?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM