Skip to content

Commit f185eb6

Browse files
committed
fix for http://code.google.com/p/mybatis/issues/detail?id=247 . When a new executor is created in a lazy loaded bean the executor should use the configured transaction factory.
1 parent 6b9e733 commit f185eb6

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/main/java/org/apache/ibatis/executor/loader/ResultLoader.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.apache.ibatis.session.ExecutorType;
1212
import org.apache.ibatis.session.RowBounds;
1313
import org.apache.ibatis.transaction.Transaction;
14+
import org.apache.ibatis.transaction.TransactionFactory;
1415
import org.apache.ibatis.transaction.jdbc.JdbcTransaction;
1516

1617
import javax.sql.DataSource;
@@ -85,7 +86,8 @@ private Executor newExecutor() throws SQLException {
8586
if (ds == null) throw new ExecutorException("ResultLoader could not load lazily. DataSource was not configured.");
8687
Connection conn = ds.getConnection();
8788
conn = wrapConnection(conn);
88-
Transaction tx = new JdbcTransaction(conn, false);
89+
final TransactionFactory transactionFactory = environment.getTransactionFactory();
90+
Transaction tx = transactionFactory.newTransaction(conn, false);
8991
return configuration.newExecutor(tx, ExecutorType.SIMPLE);
9092
}
9193

0 commit comments

Comments
 (0)