2011-07-19 106 views
1

我想在表EmployeebyProject中插入一個insert,當試圖插入時拋出瞬態對象異常。NHibernate瞬態對象異常

表EmployeebyProject:{PK:僱員PK:專案編號,DateBegin,DateEnd}

這是映射:

<composite-id> 
    <key-many-to-one name="Project" column="ProjectId" class="Project" cascade="save"></key-many-to-one> 
    <key-many-to-one name="Employee" column="EmployeeId" class="Employee"></key-many-to-one> 
</composite-id> 

<property name="DateBegin" type="DateTime"/> 
<property name="DateEnd" type="DateTime"/> 

enter code here

如何可以避免這個問題?

回答

1

從休眠角度來看對象可以處於幾種狀態 - 瞬態,連接,分離... 瞬態意味着實體保存到數據庫還沒有。 如果我有關係A-> B,則需要保存B才能保存A(因爲休眠需要知道將什麼放入B的外鍵)。

所以2種選擇:

  1. 保存B之前。在你的案例項目中,僱員
  2. 把級聯。在你的情況下,你失蹤員工
+1

我保存員工之前,級聯=「保存」,但不工作... – ale

相關問題