Bonjour
J'ai un gros problèmes de transaction. C'est à dire qu'il n'en fait aucune, et réalise un commit après chaque "save/merge" alors que j'ai une méthode annotée "@Transactionnal"
J'ai une méthode annotée @Transactional dans laquelle j'ai une boucle où se trouve un save.
Eh bien après chaque save, j'ai dans ma DB un enregistrement alors que logiquement, l'application devrait réaliser le commit qu'en sortant de la méthode.
Je n'arrive pas à trouver la source de ce problème, merci aux gens qui pourront m'aider.
Voici ma config du côté Spring :
ps : j'ai essayé en mettant le default auto commit à false, mais dans ce cas là, il ne me fait plus aucun commit.
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
25
26 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/db</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>root</value> </property> <property name="defaultAutoCommit"> <value>true</value> </property> </bean> <tx:annotation-driven transaction-manager="txManager" /> <!-- a PlatformTransactionManager is still required --> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <!-- (this dependency is defined somewhere else) --> <property name="sessionFactory" ref="sessionFactory" /> </bean>
Merci d'avance.
Partager