主键关联,产生主键的是A类,与A相同主键的是B类
主键对应的A类,hbm.xml文件与.cs文件均无任何特别,与单表相同
与A相同的主键B类,
Hbm.xml文件:
<id name="Id" column="ID" type="Guid" unsaved-value="00000000-0000-0000-0000-000000000000">
<generator class="foreign">
<param name="property">Bhb</param>
</generator>
</id>
<generator class="foreign">
<param name="property">Bhb</param>
</generator>
</id>
注意generator处的写法。刚开始写成――错误的写法
<id name="Id" column="ID" type="Guid" unsaved-value="00000000-0000-0000-0000-000000000000">
<generator class="foreign"/>
<param name="property">Bhb</param>
</id>
<generator class="foreign"/>
<param name="property">Bhb</param>
</id>
注意到了吗?param是generator的参数,要放在generator的内部的,它的值是cs中声明的名称。
Cs 文件
private Bhb bhb;
public Bhb Bhb
{
get { return bhb; }
set { bhb = value; }
}
public Bhb Bhb
{
get { return bhb; }
set { bhb = value; }
}
要引用产生主键的A类。
在保存的时候,可以直接保存与A相同主键的B类,A类的数据将自动保存。
private Bhb bhb;
public Bhb Bhb
{
get { return bhb; }
set { bhb = value; }
}
public Bhb Bhb
{
get { return bhb; }
set { bhb = value; }
}