¿La mejor manera de actualizar algunos campos de un objeto separado en Hibernate?

Me preguntaba cuál es la mejor manera de actualizar algunos campos de un objeto separado usando HB en Java. Especialmente cuando el objeto tiene atributos de objetos secundarios. Por ejemplo (anotaciones eliminadas y número de campos reducido para reducir el ruido):

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

public class Child {
   int id;
   String field3;
} 

Al actualizar un elemento principal en una aplicación web de MVC, podría solicitar una instancia principal utilizandoSession.get (Parent.class, 123), úselo para rellenar un formulario y visualizarlo. Sin DTO, solo el elemento principal separado se pasa a la vista y se enlaza a un formulario. Ahora, solo quiero permitir que el usuario actualice elcampo2 Atributo del padre. Entonces, cuando el usuario publica el formulario, obtengo una instancia principal con el ID y el campo2 rellenos (creo que el marco de mvc no importa aquí, todo se comporta de la misma manera cuando se vincula).
Ahora, ¿qué estrategia es la mejor para realizar la actualización de la entidad? Puedo pensar en algunas alternativas pero quiero escuchar a los expertos :) (Recuerda que no quiero perder la relación entre las instancias de padres e hijos)

UNA) Recupere la instancia principal de la sesión nuevamente y reemplace a mano los campos actualizados

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

Estoy usando esto mucho Pero el pojoParent parece ser usado como un DTO encubierto. También se vuelve horrible si el número de campos a actualizar aumenta.

SEGUNDO) Guarde el Niño en algún lugar (¿Sesión http?) Y asócielo más tarde.

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);

Creo que esto es una mierda pero lo vi en algunos proyectos ...

DO) Establecer la relación entre padre e hijo como inmutable. Utilizandoactualizable = falso En la relación puedo actualizar cualquier campo principal sin preocuparme por perder al niño. De todos modos, esto es bastante restrictivo y la relación nunca se actualizará.

Entonces, ¿cuál crees que es la mejor manera de resolver esta situación?

¡Gracias de antemano!

Respuestas a la pregunta(3)

Su respuesta a la pregunta