Springには以下のように構成されたデータソースがあります。
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${prop_jdbc.driverClassName}"/>
<property name="url" value="${prop_jdbc.url}"/>
<property name="username" value="${prop_jdbc.username}"/>
<property name="password" value="${prop_jdbc.password}"/>
<property name="initialSize" value="2"/>
<property name="maxActive" value="5"/>
<property name="maxIdle" value="2"/>
<property name="poolPreparedStatements" value="true"/>
<property name="maxOpenPreparedStatements" value="-1"/>
<!-- property name="defaultAutoCommit">
<value>false</value>
</property-->
</bean>
今、私は最初に上記のdataSourceから作成されたjdbcTemplateを使用してDROP TABLEを実行しており、次に次のステートメントで同じTABLEを再度作成し、最後に3番目のステートメントですぐにDROPしようとしています。
jdbcTemplate.update( dropSql,new Object[] { });
jdbcTemplate.update( createSql,new Object[] { });
jdbcTemplate.update( dropSql,new Object[] { });
@Brianコメントの後に編集
最初のステートメントの後、テーブルはすぐに削除され、2 番目のステートメントもすぐに作成されますが、2 回目は DROP が発生していません。エラーもありません。
JdbcTemplate は DROP をすぐにまたは定期的に実行しますか? 同じデータ ソースを使用して、2 行前に最初に発生したときに 2 番目の DROP が発生しないのはなぜですか?