Debutant org.hibernate.PersistentObjectException: detached entity passed to persist
Bonjour,
Si vous avez 5 min à me consacrer merci.
Je vous explique j'ai une bdd nommé ensam avec une table nommé fite.
J'ai un formulaire avec différents champs mais un en particulier un selectmanylistbox nommé listprog.
Mon souhait est de crée autant de lignes dans ma table fite qu'il y a d'items sélectionnés avec la colonne programme qui change en fonction de l'item sélectionné. Mon formulaire appelle la methode createnewfiche.
Code:
1 2 3
| <h:selectManyListbox id="programme" value="#{fite.fite.listProgramme}" required="true" requiredMessage="The programme field is required." >
<f:selectItems value="#{fite.fiteItemsAvailableSelectManyProgramme}"/>
</h:selectManyListbox> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| public void create(Fite fite) {
EntityManager em = null;
try {
em = getEntityManager();
em.getTransaction().begin();
em.persist(fite);
em.getTransaction().commit();
} finally {
if (em != null) {
em.close();
}
}
}
public void createnewfiche(Fite fite) {
bdd=fite;
List<String> list = fite.getListProgramme();
int i = list.size();
i=i-1;
int j=0;
while(j<=i){
String prog=list.get(j);
bdd.setProgramme(prog);
create(bdd);
j=j+1;
}
} |
Lorsqu'il n'y a qu'un seul item de sélectionné, pas de soucis l'enregistrement s'effectue. Mais dès qu'il n'y en a plus que deux le premier est enregistré mais pas les autres et j'ai cette erreur :
org.hibernate.PersistentObjectException: detached entity passed to persist: ensam.Fite
merci de votre aide !!