1,用反向工程生成的“一”方entity里的Set集合的set方法内给每一个“多”方对象赋值一方对象(this),这样在生成“多”方对象的时候会自动赋值“一”方对象的值。例如:见下图。
OdsRisReport为“一”方,OdsRisReportiamge为“多”方。
此时,当获取OdsRisReportimage时便有OdsRisReport的值了。
2,当对“多”方进行增删改查操作时,都是通过“一”方来进行的,以便保持数据一致性。例如:
// 添加检查报告
public ODSResult saveReport(OdsRisReport odsRisReport) throws Exception {
if (odsRisReport == null)
throw new ODSException(ODSExCode.ODS_CHECKREPORTNOTEXIST, "检查报告对象不能为空");
saveEntity(createReportOperList(odsRisReport, HibOper.SAVEORUPDATE));//通过保存“一”方对象同时保存“多”方对象。
ODSResult odsResult = new ODSResult();
odsResult.setData(odsRisReport);
return odsResult;
}
// 构建创建报告hiboper list
public List<HibOper> createReportOperList(OdsRisReport orr, int oper) throws Exception {
List<HibOper> dbObjList = new ArrayList<HibOper>();
dbObjList.add(new HibOper(orr, oper));//添加“一”方对象
for (Object orri : orr.getOdsRisReportimages()) { //根据“一”方取出“多”方对象并添加
dbObjList.add(new HibOper(orri, oper));
}
return dbObjList;
}