日期:2014-05-17  浏览次数:20830 次

1张主表,6张从表,如何保存至数据库?
数据库设计:1张主表,6张从表。从表和主表是外键关系。
需求:有一个xml文件,记录了7张表的信息,我需要把7张表的所有属性解析出来,放入model,再存入数据库。
问题:6张从表都有一个字段是主表的id,而主表的id是自增长的,我在保存6张从表的时候,如何确定这个字段呢?难道要先保存主表,得到主表的id,再保存从表? 

多谢各位帮忙分析!


------解决方案--------------------
你肯定的先有主表才能保存从表啊~

------解决方案--------------------
如不这样做,你可以在把主表的id设置为不自动增长 ,然后通过一个表来保存下一个id为多少
------解决方案--------------------
select XXXsequence.nextval from dual;
先从数据库中取出主表ID.
------解决方案--------------------
普通的保存,只能先保存主表,然后把主表的ID查询出来,在保存从表,有些麻烦
hibernate的话,可以一个方法里全部保存,保存主表,直接get这个iD字段就可以了,然后这个ID就是主表的ID
------解决方案--------------------
你先存主表,然后获取主表id,再存从表数据。保证在同一个transation里就ok了
------解决方案--------------------
直接通过一个事务保存主表和从表即可。
使用spring的声明式事务在service层实现。
------解决方案--------------------
如果主表的ID是数据库分配的 那必须先插入主表 这个时候才可以插入子表
------解决方案--------------------
hibernate保存级联表的原理:
先保存主表,然后再保存明细表;