MySQL 在hibernate中遇到的主键生成问题

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

1个回答

是不是本该执行add最后执行了update了啊??

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问