2014-04-08 80 views
0

通過JdbcTemplate-OracleDataSource通過Spring配置文件注入Oracle 11g中插入值。事務通過由DataSourceTransactionManager管理的@Transactional完成。無法在Oracle數據源連接中將自動提交值設置爲false

問題1)是如何通過Spring配置文件將自動提交值設置爲false。 試圖用:

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

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

兩者都給出錯誤: org.springframework.beans.NotWritablePropertyException:預先無效的屬性 'defaultAutoCommit' bean類[oracle.jdbc.pool.OracleDataSource]

致謝。

回答

1

這些屬性將不起作用,因爲OracleDataSource中沒有setAutoCommit()setDefaultAutoCommit()方法。

有什麼是存在的,我們可以用的卻是OracleDataSource#setConnectionProperties()是有屬性作爲參數,我們可以通過增加財產上的OracleDataSource的Spring bean快速定義:

<property name="connectionProperties"> 
    <props merge="default"> 
     <prop key="AutoCommit">false</prop> 
    </props> 
</property> 
相關問題