Bonjour,
Voici mon problème. J'ai un objet capteur pour lequel je crée des liens avec deux autres tables: système et famille de capteurs.
La création de lien avec la table système par la création d'un systemSensorLink se passe à merveille avec le code suivant:
J'utilise ensuite le même code pour la création d'un lien entre le capteur et la famille de capteurs mais cette fois-ci, la table n'est pas mise à jour. En effet, lors du débuggage, le programme passe directement de la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 public void create() { PersistenceManager pm = PMF.getManager(); Transaction tx = pm.currentTransaction(); try { tx.begin(); pm.makePersistent(this); tx.commit(); } catch(Exception e) { } finally { if (tx.isActive()) { tx.rollback(); // Error occurred so rollback the PM transaction } } pm.close(); }
à la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part pm.makePersistent(this);sans effectuer le
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (tx.isActive()) {. Avez-vous une idée du pourquoi de ce saut de ligne? Puis-je utiliser ce même code deux fois? Sinon, comment créer des objets dans deux tables différentes à la suite?
Code : Sélectionner tout - Visualiser dans une fenêtre à part tx.commit();
Merci encore pour votre réponse.
Partager