使用了SSH框架,保存订单是出现了null id in entry (don't flush the Session after an exception occurs异常,很是郁闷,自己排查了插入的整个流程,然后在网上也找了很多解决方法,但是问题依然没有解决!就在绝望之际,看到了一个老外的回答是:The 'null id' in the exception message hints that the user.save() call failed (possibly due to a constraint violation), causing the object ID to not be assigned. 于是受到启发,感觉应该是数据库表的约束出了问题,查看数据库(mysql)表设计,看到了主键ID字段竟然无故加了一个外键字段(我也不知道怎么弄上去的,哎)。姑且不说是咋加的外键约束,肯定是不正确的啦,删掉后订单就能正常保存了,问题也就到此告一段落!
总结:遇到ID插入失败,先认真检查相关配置信息,肯定没有什么问题后,就可以推断是由于数据库表设计出了问题。希望对大伙有用,多多交流……

本文介绍了一种在使用SSH框架保存订单时出现的nullidinentry异常,并分享了解决该问题的过程,最终发现是由于数据库表设计中错误地添加了外键约束导致。
1万+

被折叠的 条评论
为什么被折叠?



