2013-09-26 85 views
0

我有在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

關於「未保存的瞬態實例錯誤」的常見帖子讀到這是關於級聯,但已經嘗試將CascadeType設置爲全部,並且它是相同的 –

回答

0

你用什麼方法保存? saveOrUpdate

只有在將Documents添加到已保存的父實體時纔會拋出「未保存的瞬時實例」嗎?

嘗試將CascadeType.UPDATE添加到您的OneToMany註釋中。

+0

我使用saveOrUpate,並且它發生在兩種情況下,當添加一個新的添加文檔的父母,或者更新已保存的某些父項,我要嘗試使用CascadeType進行更新以檢查是否可行,但是今天我發現我的makePersistent在執行saveOrUpdate後進行了刷新,因此, –

相關問題