无法在Oracle Data Source连接中将autocommit值设置为false

时间:2014-04-08 17:03:40

标签: java spring oracle

通过Spring配置文件注入的JdbcTemplate-OracleDataSource在Oracle 11g中插入值。交易通过DataSourceTransactionManager管理的@Transactional完成。

问题1)是如何通过Spring配置文件将自动提交值设置为false。 试过:

    <property name="autoCommit" value="false" />

    <property name="defaultAutoCommit" value="false" />

两者都给出错误:  org.springframework.beans.NotWritablePropertyException:无效的属性&#39; defaultAutoCommit&#39; bean类[oracle.jdbc.pool.OracleDataSource]

提前致谢。

1 个答案:

答案 0 :(得分:1)

这些属性不起作用,因为OracleDataSource中没有setAutoCommit()setDefaultAutoCommit()方法。

那里有什么,我们可以使用OracleDataSource#setConnectionProperties(),它有属性作为参数,我们可以通过添加属性在OracleDataSource Spring bean中动态定义:

<property name="connectionProperties">
   <props merge="default">
      <prop key="AutoCommit">false</prop>
   </props>
</property>
相关问题