Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3321 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JPA2.0 : entityManager.close() ferme t-il sa transaction?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JPA2.0 : entityManager.close() ferme t-il sa transaction?

n°2028897
mars29200
Posté le 13-10-2010 à 12:26:53  profilanswer
 

Bonjour a tous, je cherche a écrire un test qui exécuterait des opérations de Lecture/écriture sur une base mais dans des transaction séparé.  
 
en gros, je veux :  
   dans la transaction T1, on crée un objet et l’écrit dans la base. T1 est fermée après l’opération.  
    dans la transaction T2 qui suit T1, on lit dans la base et trouve les info.
 

Code :
  1. public class StatisticIndexNodeTest extends AbstractTransactionalJUnit4SpringContextTests {
  2. private StatisticCategory category;
  3. private StatisticValueType type;
  4. private EntityManagerFactory emf;
  5. @PersistenceContext
  6. protected EntityManager entityManager;
  7. @Test
  8. public void testCreateNewNode() {
  9.  final IndexNode node = new IndexNode();
  10.  fillNode(node, 0, category, type);
  11.  entityManager.persist(node);
  12.  entityManager.flush();
  13.  final long id = node.getId();
  14.  entityManager.close();
  15.  entityManager= emf.createEntityManager();
  16.  entityManager.getTransaction().begin();
  17.  final IndexNode noder =
  18.    (IndexNode) entityManager.find(IndexNode.class, Long.valueOf(id));
  19.  nodeAssertions(node, noder);
  20. }
  21. @Before
  22. public void onSetUp() throws Exception {
  23.  category = createCategory();
  24.  type = createType();
  25.  emf = entityManager.getEntityManagerFactory();
  26. }
  27. }


 
 
comme vous avez put le remarquer, je travaille avec "AbstractTransactionalJUnit4SpringContextTests"
 
d'ou ma question : a l'appel de entityManager.close(); la transaction T1 serra t-elle fermée.  
lors de l'appel a "entityManager= emf.createEntityManager();" dans le debuger (sous eclipse) je suis sur que je reçois un nouvel entityManager (id !=) mais je ne vois pas la transaction.
j'ai lu la spec JPA, mais je n'ai rien trouve.  
 
une idée ?

mood
Publicité
Posté le 13-10-2010 à 12:26:53  profilanswer
 

n°2029381
el muchach​o
Comfortably Numb
Posté le 14-10-2010 à 21:02:28  profilanswer
 

Que penses-tu de ce test: tu ouvres une 2e transaction, tu écris un truc, tu fais un rollback. Si après ça tu as tjrs les écritures de la 1ère transaction, c'est qu'elle a été correctement commitée et fermée, sinon, tout aura été rollbacké.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2031100
mars29200
Posté le 21-10-2010 à 10:43:11  profilanswer
 

merci, mais ma question  était :
 
"a l'appel de entityManager.close(); la transaction T1 serra t-elle fermée. "


---------------
bougez vous le cul! => http://trainoo.com/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JPA2.0 : entityManager.close() ferme t-il sa transaction?

 

Sujets relatifs
Bounton close dans une DialogBox ??[Excel/VBA]Utilisation de .Close avec Scripting.FileSystemObject
Fermer une fiche à l'aide de Close[Anti-Phishing] lien directe qui ferme
Comment fermer le processus java lorsque l'on quitte le programme ?[VB.NET] Connexion BDD Access ne se ferme pas apres vérifications
sa ferme la fentre automatiquement[C#] Excel : Verification classeur fermé
close[VBA] Boîte qui se ferme toute seule au bout de 5 s.
Plus de sujets relatifs à : JPA2.0 : entityManager.close() ferme t-il sa transaction?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)