jdbcTemplate.update 冻结
jdbcTemplate.update freezes
我正在使用没有 "transactionManager" 的 Spring JdbcTemplate,因为我有大部分 select 要做。
当我尝试从 JUnit 调用 select 查询时,它工作正常,但是当我尝试调用 "update" 时,它冻结了测试(没有连接超时,什么都没有,只是等待)。
我见过 jdbcTemplates insert/update 没有任何 transactionManager 的例子,但这会是这里的问题吗?
public void insert(String param1, String param2) {
String sql = "UPDATE MYTABLE SET name = :param1 where first_name = :param2";
NamedParameterJdbcTemplate npJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate);
SqlParameterSource namedParameters = new MapSqlParameterSource().addValue("param1", param1).addValue("param2", param2);
npJdbcTemplate.update(sql, namedParameters);
}
这里的问题是我在 SQL 客户端(Oracle SQL 开发人员)的同一行中传递了相同的更新查询,但尚未在此客户端中提交。
我的 JUnit 已停滞 12 小时,在我向 SQL 开发人员提交查询后,更新发生在 JUnit 中。
与应用程序中的事务管理或数据源的自动提交状态无关。
我正在使用没有 "transactionManager" 的 Spring JdbcTemplate,因为我有大部分 select 要做。
当我尝试从 JUnit 调用 select 查询时,它工作正常,但是当我尝试调用 "update" 时,它冻结了测试(没有连接超时,什么都没有,只是等待)。
我见过 jdbcTemplates insert/update 没有任何 transactionManager 的例子,但这会是这里的问题吗?
public void insert(String param1, String param2) {
String sql = "UPDATE MYTABLE SET name = :param1 where first_name = :param2";
NamedParameterJdbcTemplate npJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate);
SqlParameterSource namedParameters = new MapSqlParameterSource().addValue("param1", param1).addValue("param2", param2);
npJdbcTemplate.update(sql, namedParameters);
}
这里的问题是我在 SQL 客户端(Oracle SQL 开发人员)的同一行中传递了相同的更新查询,但尚未在此客户端中提交。
我的 JUnit 已停滞 12 小时,在我向 SQL 开发人员提交查询后,更新发生在 JUnit 中。
与应用程序中的事务管理或数据源的自动提交状态无关。