spring 3.1: jdbcTemplate auto commit to false.

autocommit, jdbctemplate, transactions

Solution

I did not understand your whole question, but I can answer the first part: Is there a way to set autocommit to false in spring jdbctemplate?

The autocommit configuration is normally set on the connection itself. The `Connection` is created by the `Datasource`. As the `JdbcTemplate` does not have an option to manually disable auto commit in the connections it requests to the Datasource, the way to achieve this is using a `Datasource` that creates connections with `autocommit` set to `false` by default.

This example configuration using apache commons `BasicDataSource` achieves that:

<bean id="database" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource">
        <bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            ...
            <property name="defaultAutoCommit" value="false" />
            ...
        </bean>
    </property>
</bean>

Problem

Hi Is their a way to set autocommit to false in spring jdbctemplate. The thing is instead of transaction (where their is rollback option), I want to have query committed at end of transaction. So instead of insert --> commit --> rollback. I want insert --> fail --> (no commit).

Original source