Estoy tratando de hacer una aplicación que mantenga un modelo de objetos sincronizado con una base de datos al observar todos los cambios y luego persistir de inmediato en los objetos en cuestión. Muchos de los objetos en el modelo tienen hijos en listas grandes o árboles.Opciones de cascada de JPA en tiempo de ejecución
Cuando cargo un objeto de la base de datos, confío en una relación en cascada unidireccional para recuperar todos sus elementos secundarios e incluirlos en la aplicación.
Sin embargo, es posible alterar un campo en el objeto principal que requiere persistencia y puedo determinar que ninguno de los elementos secundarios está afectado. Así que me gustaría persistir el padre, sin golpear la base de datos con todo el niño en cascada persiste.
por ejemplo
@Entity
public class Parent {
@OneToMany(cascade=CascadeType.ALL)
public List children;
}
¿Cómo puedo reemplazar la opción de cascada cuando persisto un objeto padre? ¿O debería simplemente configurarlo para ACTUALIZAR y asegurarme de que nunca necesite una persistencia en cascada?
Es una aplicación independiente con la base de datos en la misma máquina o un servidor cercano. Se requiere que todo el modelo esté en la memoria para que el usuario pueda jugar con él. Estoy intentando que el resultado de todas las acciones del usuario persista para que nunca tengan que hacer clic en "guardar". – Cogsy