JPA (hibernación) ¿Mapeo OneToMany incorrecto?

Hola, soy nuevo en JPA y creo que tengo un problema con mis anotaciones de mapeo Estoy usando hibernate 3.6.1 final con JPA 2

Aquí está mi clase:

    public class Resident {
    ...
        @OneToMany(orphanRemoval = true, mappedBy = "resident")
        @Cascade({org.hibernate.annotations.CascadeType.ALL})
        public List<ResidentInfo> infos;
    }

    public class ResidentInfo {
    ...
        @ManyToOne(optional = false)
        public Resident resident;
    }

Cuando intento guardar datos por primera vez, todo funciona perfectamente.

Sin embargo, cuando intento actualizar un registro mediante el método save (), parece que el parámetro orphanRemoval no se aplica.

Por ejemplo, si infos era una lista de 4 registros y la actualizo eliminando 2 registros, los 2 registros eliminados no se eliminan de la base de datos.

También tengo otro problema, cuando intento agregar un elemento a la información de mi lista, entonces no tengo ningún error, pero los elementos agregados no se registran en la base de datos.

Para registrar datos, simplemente uso resident.save (), ¿tal vez me equivoque?

preguntado el 10 de mayo de 11 a las 13:05

1 Respuestas

  1. No te olvides de agregar

    @Column(name = "resident")
    

    a la relación ManyToOne?

  2. ¿Estás usando algo como

    session.startTransaction()` 
    

    y

    session.getTransaction().commit()` ?
    

respondido 18 nov., 11:18

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.