2 回答
TA貢獻1946條經驗 獲得超3個贊
不要使用外來的關聯映射。
真正的多到多關聯的良好用法是罕見的。大多數情況下,您需要存儲在“鏈接表”中的其他信息。在這種情況下,對中間鏈接類使用兩個一對多的關聯要好得多。事實上,我們認為大多數的關聯是一對多的和多對一的,在使用任何其他的關聯風格時,你應該小心,并問自己是否真的有必要。
AuthorWork:
<class name="Work" table="works" ...> <id name="Id" column="id" generator="native" /> ... <set name="Authors" table="author_work" lazy="true"> <key> <column name="work_id" not-null="true"/> </key> <many-to-many class="Author"> <column name="author_id" not-null="true"/> </many-to-many> </set></class>
<class name="Author" table="authors"> ... <set name="Works" table="author_work" inverse="true" lazy="true"> <key column="author_id"/> <many-to-many class="Work" column="work_id"/> </set></class>
AuthorWork
public class AuthorWork{
public virtual Author Author { get; set; }
public virtual Work Work { get; set; }
public virtual int OrderBy { get; set; }}<class name="AuthorWork" table="author_work"> ... <many-to-one name="Author" column="author_id" /> <many-to-one name="Workr" column="work_id" /> <property name="OrderBy" />
<set name="Authors" lazy="true" order-by="OrderBy"> <key column="work_id" not-null="true"/> <one-to-many class="AuthorWork" /></set>
注:必須同意這一建議,在綜述中提出的要求越多,我們就越高興我們有辦法來管理這種關系!
TA貢獻1847條經驗 獲得超7個贊
UserRoleUser one-to-many UserRoles many-to-one RoleUser, Role UserRolesUserRolesUserRoleUserRoleUserRoles
添加回答
舉報
