出现如题问题,可以检查如下方面:
1.保证更新方法上的事务允许更新操作。可能出现的情形为:在类上用事务标签@Transactional(readOnly = true)声明事务只允许读,而在类方法上没有声明事务标签,则类方法的事务继承类的事务。
2.保存实体的id=null,而不是空字符。如果id不是null,在保存后JPA不会重新设置id的值。此情形经常被忽略,因为保存和编辑的页面经常共用一个页面,而编辑页面中记录id作为一个hidden组件的值存在,导致提交表单时将id也一起提交。
本文探讨了在处理事务更新操作时遇到实体ID为null的问题,并提供了解决方案。包括检查事务配置、确保实体ID不为null等关键步骤。
出现如题问题,可以检查如下方面:
1.保证更新方法上的事务允许更新操作。可能出现的情形为:在类上用事务标签@Transactional(readOnly = true)声明事务只允许读,而在类方法上没有声明事务标签,则类方法的事务继承类的事务。
2.保存实体的id=null,而不是空字符。如果id不是null,在保存后JPA不会重新设置id的值。此情形经常被忽略,因为保存和编辑的页面经常共用一个页面,而编辑页面中记录id作为一个hidden组件的值存在,导致提交表单时将id也一起提交。
3928
296

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