Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum werden Transaktionen nicht zurückgesetzt, wenn SpringJUnit4ClassRunner/MySQL/Spring/Hibernate verwendet wird

Es stellte sich heraus, dass das Problem darin bestand, dass die Verbindung automatisch festgeschrieben wurde, BEVOR die Transaktion rückgängig gemacht werden konnte. Ich musste meine dataSource-Bean ändern, um eine defaultAutoCommit-Eigenschaft einzuschließen:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  <property name="url" value="jdbc:mysql://localhost:3306/test"/>
  <property name="username" value="root"/>
  <property name="password" value="Ecosim07"/>
  <property name="defaultAutoCommit" value="false" /> 
</bean>