最近总是碰到一对一的问题呢,这次是一张表与多张表一对一的关系,折腾我好长时间,这里记一下
1 bean类
public class Main implements java.io.Serializable {
private String id;
private SubA subA;
private SubB subB;
private SubC subc;
对应的set,get方法
}
public class SubA {
private String id;
private Main main;
对应的set,get方法
}
SubB ,SubC类似SubA
2 配置文件
主表:
<one-to-one name="subA" class="com.xxx.SubA" property-ref="main" cascade="save-update"></one-to-one>
<one-to-one name="subB" class="com.xxx.SubB" property-ref="main" cascade="save-update"></one-to-one>
<one-to-one name="subC" class="com.xxx.SubC" property-ref="main" cascade="save-update"></one-to-one>
子表
<many-to-one name="main" class="com.xxx.Main" fetch="select" cascade="save-update" >
<column name="MAINID" length="20" not-null="false" />
</many-to-one>
另两个表类似
3 service层保存
main.setSubA(subA);
subA.setMain(main);
session.save(main);
session.flush();
其他类似,我这里做的是每次都是一对一保存
ok