时间:2021-07-01 10:21:17 帮助过:26人阅读
最近使用Mysql连hibernate,生成策略为identity,在添加数据的时候遇到问题, 比如添加报销单表和报销明细表(报销单和报销明细是一对多的关系,报销单设置了cascade="all"),每次保存报销单对象数据的时候,会发现上一次保存的报销单里面的报销明细会保存到这一次保存的报销单对象里面。
调试后发现是程序每次都自动给报销单对象的id为上次插入的ID值,然后在真正插入数据库时id+1,报销明细对象跟着就把上次的外键值id也变成了id+1,这是何解啊? 是否是主键生成策略的关系,还是要用assing手动添加主键?