誰かが私が望むことをするために休止状態を構成する方法を理解する助けになることができますか?Hibernate - 親だけを持続させ、子供をそのまま保つ方法
私は子供のように "部屋"のリストを持つ親エンティティ "Appartment"を持っています。 私は "Appartment"を編集するためのフォームを持っています。そのフォームの中には、ちょうど参考になるようにすべての子ルーム "Room"がリストされています。部屋は別の形式で追加および編集されます。
だから、私はfalseに遅延読み込みを設定しているアパート形式の客室をリストアップしていますので:
@OneToMany
@JoinColumn (name = "appartmentId")
@LazyCollection (LazyCollectionOption.FALSE)
private List<Room> room;
しかし、私はそれをアパートを編集して保存する場合は、すべてのアパートの部屋に突然dissappear。データベースでは削除されませんが、参照解除されます(appartmentId = nullなど)。
私はどのように私のAppartmentオブジェクトを保持するためだけに休止状態を構成できますか?子供たちには全く触らないでください。 (あなたがWebページの場合のページのモデルにそれらを呼び出すことができます)の代わりに永続エンティティを使用しての
public String save() throws Exception {
boolean isNew = (appartment.getAppartmentId() == null);
appartment = appartmentManager.save(appartment);
String key = (isNew) ? "appartment.added" : "appartment.updated";
saveMessage(getText(key));
return SUCCESS;
}
'Appartment'オブジェクトを保存する前に再構成していますか?明示的に、または新しい空のリストを作成することによって、あなたのリストから 'Room'を削除しているようです。 – Jeremy
私は上記のsave-metodeを追加しました。あなたが見ることができるように、私は実際にそれを格納する前にappartmentオブジェクトに何もしません。 – user829237
'appartment'はどこから来たのですか? – Jeremy