为什么hibernate会在一段时间后停止工作?

时间:2013-09-26 21:42:06

标签: java hibernate tomcat hibernate-cascade

我确实有一个在Apache tomcat 7上运行的系统(7.0.34,如果这有什么不同)和一个带有这样的属性的映射

@OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST,CascadeType.MERGE})
@JoinTable(name = "device_document",
    joinColumns = {@JoinColumn(name = "device_id", referencedColumnName = "device_id")},
    inverseJoinColumns = @JoinColumn(name = "document_id", referencedColumnName = "id"))
public Set<Document> getDocuments() {
    return documents;
}

当我调用我的保存功能时,它工作得很好,但一段时间后完全相同的代码,完全相同的数据会引发异常

unsaved transient instance - save the transient instance before flushing

每当我尝试保存实例时,它都会一直抛出异常,直到(有时)我重新启动tomcat服务。

你知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

您使用什么方法保存? saveOrUpdate

只有在将Documents添加到已保存的父实体时才会抛出“未保存的瞬态实例”吗?

尝试将CascadeType.UPDATE添加到您的OneToMany注释中。