〖使用iBatis做select后不提交也不回滚问题〗

可能大家会笑select不需要commit,没谁会使用tran来select. 但ibatis使用connection后一律会setAutoCommite(false); 所以是应该commit,但它没有----当配置ibatis的连接来自连接池时就是如此,我的是jboss4的连接池 如果配置ibatis的连接来自己创建的连接时它会自动commit 执行下面申请隔离级别的select后可以看到数据库(sybase)中有了琐

有谁知道原因吗? SET TRANSACTION ISOLATION LEVEL SERIALIZABLE SELECT COL1 FROM TABLE1

可能大家会笑select不需要commit,没谁会使用tran来select.
但ibatis使用connection后一律会setAutoCommite(false);
所以是应该commit,但它没有----当配置ibatis的连接来自连接池时就是如此,我的是jboss4的连接池
    <dataSource type="JNDI">
      <property name="DataSource" value="java:/SY_JXC"/>
    </dataSource>
如果配置ibatis的连接来自己创建的连接时它会自动commit
   <dataSource type="SIMPLE">
      <property name="JDBC.Driver......"/>
   </dataSource>

执行下面申请隔离级别的select后可以看到数据库(sybase)中有了琐
   <statement id="mys" parameterClass="java.lang.String" resultMap="mys_result">
    SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
    SELECT COL1 FROM TABLE1 
  </statement>

原来要commitRequired="true"呀:)

如果是这样,使用iBatis查询性能不是要打折扣吗?