我在閱讀關於一對多關係中的inverse = true,並且實際上想知道在多個關係中將該屬性設置爲true的位置一對多的關係。 我知道逆是指出哪個實體/表是關係的所有者。在一對多的觀點中,這其實很簡單。購買你如何在多對多的關係中指出一方?還是沒有必要?多對多的關係:如何決定將XML映射到哪裏inverse = true
你能指出雙方嗎?或者你必須選擇一方?你如何確定哪一方是? 如果我認爲根據關係的所有者,我認爲這兩個集合必須設置inverse = true,因爲它們都不是關係的所有者。但實際上另一個也不是所有者。它是所有者的表UsersTargets。 有人能夠讓我離開我的婚姻嗎?
例如:用戶可以有很多獎項。 注意:沒有必要知道有多少用戶有特定的獎勵。所以也許我應該讓我的模型不同?反正我的代碼至今:
域:
public class User : Entity
{
...
public virtual ISet<Award> Awards { get; set; }
}
public class Award : Entity
{
...
public virtual ISet<User> Users { get; set; }
}
映射:
<-User.hbm.xml->
<set name="Awards" table="UsersAwards" cascade="all">
<key column="UserId"/>
<many-to-many class="Award" column="AwardId"/>
</set>
<-Award.hbm.xml->
<set name="Users" table="UsersAwards" cascade="all">
<key column="AwardId"/>
<many-to-many class="User" column="UserId"/>
</set>
Thx提前。
Thx爲這個偉大的答案。包含我想知道的一切。 – Gigi2m02 2012-03-17 17:25:50