Beste Weg, um einige Felder eines abgetrennten Objekts im Ruhezustand zu aktualisieren?

Ich habe mich gefragt, wie einige Felder eines abgetrennten Objekts mit HB in Java am besten aktualisiert werden können. Insbesondere, wenn das Objekt untergeordnete Objektattribute hat. Zum Beispiel (Anmerkungen entfernt und Feldnummer reduziert, um Rauschen zu reduzieren):

public class Parent {
   int id;
   String field2;
   ...
   Child child;
}

public class Child {
   int id;
   String field3;
} 

Beim Aktualisieren eines übergeordneten Elements in einer MVC-Webanwendung könnte ich mithilfe von eine übergeordnete Instanz aufrufenSession.get (Parent.class, 123)Verwenden Sie es, um ein Formular auszufüllen und anzuzeigen. Keine DTOs, nur das abgetrennte übergeordnete Element wird an die Ansicht übergeben und an ein Formular gebunden. Jetzt möchte ich nur dem Benutzer erlauben, das zu aktualisierenfield2 Attribut des Elternteils. Wenn der Benutzer das Formular hochlädt, erhalte ich eine übergeordnete Instanz mit der ID und dem Feld 2 (ich denke, das MVC-Framework spielt hier keine Rolle, alle verhalten sich beim Binden meistens gleich).
Welche Strategie eignet sich am besten, um die Aktualisierung der Entität durchzuführen? Ich kann in wenigen Alternativen denken, aber ich möchte die Experten hören :) (Denken Sie daran, dass ich die Beziehung zwischen den Eltern- und den Kindinstanzen nicht verlieren möchte)

EIN) Rufen Sie die übergeordnete Instanz erneut aus der Sitzung auf und ersetzen Sie die aktualisierten Felder manuell

Parent pojoParent; //binded with the data of the Form.
Parent entity = Session.get(Parent.class,pojoParent.getId());
entity.setField2(pojoParent.getField2()).          

Ich benutze das viel. Aber der pojoParent scheint als Undercover-DTO verwendet zu werden. Es wird auch schrecklich, wenn die Anzahl der zu aktualisierenden Felder größer wird.

B) Speichern Sie das Kind irgendwo (httpSession?) Und verknüpfen Sie es mit letzterem.

Parent parent = Session.get(Parent.class,123);
//bind the retrieved parent to the form
// store the Child from parent.getChild() on the httpSession
...
//when the users submits the form...
pojoParent.setChild(someHttpSessionContext.getAttribute('Child'))
Session.save(pojoParent);

Ich denke, das ist Mist, aber ich habe es in einigen Projekten gesehen ...

C) Stellen Sie die Beziehung zwischen Elternteil und Kind als unveränderlich ein. Verwendenaktualisierbar = falsch In Bezug auf die Beziehung kann ich jedes übergeordnete Feld aktualisieren, ohne mir Gedanken über den Verlust des Kindes machen zu müssen. Auf jeden Fall ist dies recht restriktiv und die Beziehung wird nie aktualisiert.

Was ist Ihrer Meinung nach der beste Weg, um diese Situation zu lösen?

Danke im Voraus!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage