通过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]
提前致谢。
答案 0 :(得分:1)
这些属性不起作用,因为OracleDataSource中没有setAutoCommit()
或setDefaultAutoCommit()
方法。
那里有什么,我们可以使用OracleDataSource#setConnectionProperties(),它有属性作为参数,我们可以通过添加属性在OracleDataSource Spring bean中动态定义:
<property name="connectionProperties">
<props merge="default">
<prop key="AutoCommit">false</prop>
</props>
</property>