Transaction already active mais Entitymanager closed
je fais deux requetes dans deux fonctions différentes ou je prend bien soin de fermer l'Entitymanager entre temps et pourtant j'obtiens quand meme l'exception "transaction already active" quand je fais mon transaction.begin() dans la deuxieme.
par exemple:
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 28 29 30
|
//premiere fonction appelée
public static ArrayList<IdeaStatus> getIdeaStatusList()throws Exception {
ArrayList al = new ArrayList<IdeaStatus>();
try {
EntityManager em = EntityUtil.getEntityManager("SUMSPU");
em.getTransaction().begin();
al = (ArrayList<IdeaStatus>) em.createQuery("from IdeaStatus order by name").getResultList();
em.close();
return al;
} catch (Exception e){
throw new Exception(e);
}
}
//deuxieme fonction appelée
public static ArrayList<IdeaKind> getIdeaKindList()throws Exception {
ArrayList al = new ArrayList<IdeaKind>();
try {
EntityManager em = EntityUtil.getEntityManager("SUMSPU");
em.getTransaction().begin(); //Exception
al = (ArrayList<IdeaKind>) em.createQuery("from IdeaKind order by name").getResultList();
em.close();
return al;
} catch (Exception e){
throw new Exception(e);
}
} |
Vous remarquerez que je ferme bien les EntityManager a chaque fois. Alors comment se fait - il que j'ai une exception du type "transaction already active" lorsque j'arrive au em.getTransaction().begin() de la deuxieme fonction?
merci