Como se ha dicho
Cuando intento de eliminar la entidad PerfilUsuario, la correspondiente entidad Usuario aún se mantiene
Tal vez cuando intenta quitar un PerfilUsuario se obtiene una violación de restricción de integridad de la base de datos: ¿utiliza el motor MyISAM en MySQL?
Pero como usted no dice nada al respecto. Tal vez su entidad UserProfile no tiene una referencia a una entidad de usuario.
Como se ha dicho en la especificación JPA
remove operación se conecta en cascada a entidades referenciados por X, si la relación de X a estas otras entidades se anota con la cascada = eliminar o cascada = ALL valor de elemento de anotación
Algo así como
UserProfile up = entityManager.find(UserProfile.class, id);
entityManager.close();
// Notice User is null outside a persistence context
// So user will be not removed from the database because UserProfile does not have a reference to it
up.setUser(null);
entityManager.getTransaction().begin();
entityManager.remove(up);
entityManager.getTransaction().commit();
O usted tiene algo así como
entityManager.getTransaction().begin();
UserProfile up = entityManager.find(UserProfile.class, id);
// throws UPDATE USER_PROFILE SET USER_ID = NULL
up.setUser(null);
// up.getUser() is null
// So user is not removed
entityManager.remove(up);
entityManager.getTransaction().commit();
En respuesta al comentario de ChhsPly:
En Java Persistence con el libro de hibernación, vea el siguiente
El atributo cascada es direccional: Se aplica a sólo un extremo del la asociación.
creo que sería mejor que
Se aplica sólo a un extremo de la asociación por operación
Así que usted puede poner atributo cascada en ambos lados al mismo tiempo, incluso en una relación bidireccional. Entonces ChssPly tiene razón.
mappdePor atributo establece la relación bidireccional. El atributo mappedBy designó a la entidad Address como el lado inverso de la relación. Esto significa que la entidad Cliente es el lado propietario de la relación.
ChssPly tiene razón cuando dice mappedBy no tiene nada que ver con la cascada
su propia evidencia sugeriría que la respuesta es "sí" – skaffman
@skaffman ..... Entonces, ¿es esta la única razón detrás del concepto de dueño y dueño? ¿O hay alguna otra? Gracias. – soontobeared