Java 休眠约束失败

Java 休眠约束失败,java,mysql,hibernate,Java,Mysql,Hibernate,我有两种对象类型:消息和模板。首先我创建一个模板,保存它,然后创建一条消息,设置message.template=template,然后提交 但是-有时-我得到一个约束失败异常,表示无法添加或更新子行:外键约束失败-引用模板对象的消息对象的外键 Hİbernate有提交顺序吗?可能试图先保存消息对象,但-boom-template对象尚未提交。我对这个错误没有任何其他解释,因为这个代码通常工作正常,但有时会发生错误 编辑: 这发生在一个大的代码块我只是不能复制粘贴它抱歉 伪代码摘要: 模板模板=

我有两种对象类型:消息和模板。首先我创建一个模板,保存它,然后创建一条消息,设置message.template=template,然后提交

但是-有时-我得到一个约束失败异常,表示无法添加或更新子行:外键约束失败-引用模板对象的消息对象的外键

Hİbernate有提交顺序吗?可能试图先保存消息对象,但-boom-template对象尚未提交。我对这个错误没有任何其他解释,因为这个代码通常工作正常,但有时会发生错误

编辑: 这发生在一个大的代码块我只是不能复制粘贴它抱歉

伪代码摘要: 模板模板=新模板; 模板。setTemplateName。。。等 …等等

我的DAO类保存模板对象。未提交,保存在会话中

然后,对消息对象创建类似的场景,设置并保存外键和属性。有时约束会失败


在创建和保存消息对象之前,我甚至尝试获取该模板对象,以查看它是否存在template badTemplate=-我的模板对象DAO类。getByID,我可以system.out此模板对象的id为+badTemplate.getTemplateId+,名称为+badTemplate.getTemplateName,没有任何问题,但这并不能防止失败。此代码用于web服务,我可以成功返回,而我在另一台计算机上的朋友则会出错。

请显示您的代码。您应该制作必要的最短程序来重现问题并发布它。我的许多项目都使用类似的DAO类和相同的数据库层,没有一个会引发该异常。即使在这个项目中,约束失败也很少发生——并非总是如此——重现问题也不是那么容易。