29 Nov
2013
29 Nov
'13
1:47 p.m.
Le 28/11/2013 11:18, Brendan Le Ny a écrit :
Si on appelle TopiaDao.delete(e) alors que e.isPersisted() == false ça pète mais ça pète bizarrement. En disant que un object est transient alors qu'il fait un find. J'ai mis deux heures pour comprendre qu'en fait c'est l'objet que j'essaiyais de delete qui était transient :-(
Je vous propose au choix : * dans delete(e) : Preconditions.checkArguement(e.isPertisted()) (on pète) mais pour la vraie raison) * dans delete(e) : on englobe tout le code dans if (e.isPertisted()) du coup, si l'objet n'était pas créé, on ne fait rien pour le supprimer.
Pour moi, c'est plutôt la première solution. Qu'en pensez-vous ? Idem.
Au moins si quelque chose ne va pas, l'utilisateur le saura. Arnaud