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 サービスを再起動するまで、インスタンスを保存しようとするたびにその例外をスローし続けます。

なぜこれが起こっているのかについて何か考えがありますか?

4

1 に答える 1

0

保存するためにどのような方法を使用していますか? saveOrUpdate?

Documents既に保存されている親エンティティに追加する場合にのみ、「保存されていない一時的なインスタンス」をスローしますか?

注釈に追加CascadeType.UPDATEしてみてください。OneToMany

于 2013-09-27T01:40:23.640 に答える