Bonjour
Je suis entrain de faire une mini auto formation en Hibernate, j'arrive à faire des opérations CAUD.
Par contre j'ai un souci avec la gestion des transactions, je n'arrive pas à desactiver l'autocommit sur la connexion. Le programme commit les mise à jours avant même que je ne fasse transaction.commit();
Le code Java
Le fichier Hibernate.cfg.xml
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
16
17
18
19
20
21
22
23
24 // Récupération d'une session Hibernate Session s = HibernateUtils.getSession(); // Début de la transaction Transaction t = s.beginTransaction(); t.begin(); // Création d'un objet Event Event e = new Event(); e.setTitle("Titre de l'event 1"); e.setDescription("Description de l'évènement 1"); e.setBeginDate(new GregorianCalendar()); e.setAllDay(false); //Cette instruction commit déjà les maj s.save(e); // J'aimerai que le commit se passe ici t.commit(); // Fermeture de la session Hibernate s.close();
Je travail avec une base de données MySql
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
16
17
18
19
20
21
22
23
24 <?xml version="1.0"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory name=""> <!-- Paramètres de connexion à la base de données --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost/pge_jpa_v1</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password"/> <!-- Comportement pour la conservation des tables --> <property name="hbm2ddl.auto">create</property> <property name="hibernate.hbm2ddl.auto">update</property> <property name="hibernate.connection.autocommit">false</property> <!-- Fichiers à mapper --> <mapping class="fr.mistra.pgejpav1.jpa.Event"/> <!-- Affiche les logs SQL <property name="show_sql">true</property> <property name="hibernate.format_sql">true</property> <property name="use_sql_comments">true</property> --> </session-factory> </hibernate-configuration>
Merci d'avance
Partager