1

休止状態の検索を介していくつかの休止状態のオブジェクトを読み込み、UI に表示しています。そこで、ユーザーは 1 つのオブジェクトを選択し、@ManyToMany 関連付けからいくつかの要素を削除します。

もちろん、セッションがフラッシュされたときの休止状態のドキュメントに書かれているように、見つかったオブジェクトで Session#save を呼び出さなくても、変更は自動的に永続化されます。

しかし、それは私が必要とする行動ではありません。ユーザーが関連付けからオブジェクトを削除する必要がありますが、一時的にのみ、データベースを変更せずに変更されたオブジェクトからレポートを作成するためだけです。そのため、関連付けで削除されたオブジェクトはレポートに表示されません。

どうすればこれを実現できますか?

関連するオブジェクトをCloneableとしてマークし、新しいエンティティを構築して、この特定の UI でのすべての操作が読み取り専用であるため、そこで変更を加えることを考えていました。

助言がありますか?

4

1 に答える 1

1

コレクションを でマークしcascade="evict"ます。次に、必要に応じてオブジェクトを削除し、レポートを生成してから、evict()フラッシュする前にオブジェクトを生成します。

于 2012-07-11T19:18:20.083 に答える