错误:“对象引用未保存的瞬态实例”,但我无法持久保存该对象

时间:2014-10-23 17:10:38

标签: java hibernate

我收到此错误:

org.hibernate.TransientObjectException:object引用未保存的瞬态实例 - 在刷新之前保存瞬态实例

我之前没有保存的对象是:

@ManyToOne(fetch = FetchType.EAGER, cascade =  {CascadeType.MERGE, CascadeType.REFRESH})
@JoinColumn(name="ID_USUARIO_RECLAMA", referencedColumnName = "CODPERSONA")
private Personas idUsuarioReclama;

我无法将CascadeType更改为All,因为此对象位于我无权编写的另一个方案中。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

我认为Hibernate不会允许你坚持你想要坚持的对象,直到有一个拥有其外键的对象。

所以你的对象A你试图坚持引用Personas B,但B不存在。

也许引用Personas的外键不能为空。在这种情况下,如果不首先保存B,就无法保存A.

如果Personas的外键可以为null,只有在外键没有引用任何内容时才能写入它,然后在需要时写入外键,但Hibernate不会允许你打破参考完整性。