Bonjour à tous,
Un problème que je ne comprends pas.
J'ai un DAO qui étend un dao de base comprenant la méthode delte.
Elle effectue un em.remove(em.merge(entity));
Pas très propre mais ça me permet de gérer les detached object de manière transparente si j'ai bien compris.
Ca fonctionne parfaitement dans mon appli, mais pas dans mon test JUnit.
J'ai l'erreur suivante:
java.lang.IllegalArgumentException: Removing a detached instance com.fnca.user.business.FncaUser#3
Il me semblait que le merge permettait justeent de s'en prémunir.
J'avoue débuter sur le sujet, tout aide sera précieuse.
1 2 3 4 5 6 7 8 9 10 11 12 13
|
@Test
@Transactional
public void supprimerUtilisateur() {
Integer deletedUserId = 3;
/* suppression, pas d'exception attendue */
FncaUser user = userDAO.findById(deletedUserId);
userDAO.delete(user);
/* ne doit plus exister au sein de la base */
FncaUser deletedUser = userDAO.findById(deletedUserId);
assertThat(deletedUser, nullValue());
} |
PS : L'implementation de JPA repose sur Hibernate
Merci d'avance!
Partager