我确实有一个在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服务。
你知道为什么会这样吗?
答案 0 :(得分:0)
您使用什么方法保存? saveOrUpdate
?
只有在将Documents
添加到已保存的父实体时才会抛出“未保存的瞬态实例”吗?
尝试将CascadeType.UPDATE
添加到您的OneToMany
注释中。