tengo una clase padre con el siguiente campo con cascada opción:Hibernate (APP) en cascada - recuperar Identificación del niño
public class Parent {
@OneToMany(mappedBy = "parent", cascade = CascadeType.ALL)
@Cascade(org.hibernate.annotations.CascadeType.DELETE_ORPHAN)
private final Set<Child> children = new HashSet<Child>();
public addChild(Child child) { children.add(child); }
}
En mi solicitud Quiero añadir un niño y luego llamar a la APP se funden en la matriz clase, persistiendo automáticamente a mi nuevo hijo. Todo esto funciona, sin embargo, la referencia de niño original que inserté en mi objeto principal ha cambiado, lo que significa que no puedo recuperar la identificación de mi hijo persistente. ¿Hay alguna manera de decirle a hibernate que vuelva a utilizar mi referencia de hijo mayor en lugar de crear una nueva? durante la fusión
Lo sé, pero solo obtengo la instancia combinada de mi padre. Quiero que la instancia fusionada de mi hijo recupere su ID. Por supuesto que puedo recuperar el último elemento del conjunto de mis hijos, pero eso es increíblemente desagradable. – Jeroen
debería tenerlos también, como parte del nuevo padre. – Bozho
Deseo hacer lo siguiente: Child child = new Child(); parent.addChild (child); service.saveParent (principal); // hacer cosas con la referencia secundaria persistente p. Ej. child.getId(); – Jeroen