Java 使用jdbc模板更新表时DB2中出现死锁

Java 使用jdbc模板更新表时DB2中出现死锁,java,jdbc,db2,jdbctemplate,Java,Jdbc,Db2,Jdbctemplate,我试图在AS400 DB2中更新多行的表。当我在工作台上测试时,这个查询工作正常。当我使用来自jdbc模板的相同查询时,它会创建死锁,并对表进行锁定。这里可能有什么问题?这是我的密码 查询 updateset status='CLOSED',其中PROCESSID位于('ABC1243','DTH4666'); 避免使用代码 public void updateStatus() { try { getJdbcTemplate().update("UPDATE <table nam

我试图在AS400 DB2中更新多行的表。当我在工作台上测试时,这个查询工作正常。当我使用来自jdbc模板的相同查询时,它会创建死锁,并对表进行锁定。这里可能有什么问题?这是我的密码

查询
updateset status='CLOSED',其中PROCESSID位于('ABC1243','DTH4666');
避免使用代码

public void updateStatus() {
    try { getJdbcTemplate().update("UPDATE <table name> SET status= 'CLOSED' WHERE PROCESSID IN ('ABC1243', 'DTH4666');}
    catch (Exception e) { logger.error(e); throw e; }       
}
public void updateStatus(){
请尝试{getJdbcTemplate().update(“更新集状态='CLOSED',其中PROCESSID位于('ABC1243','DTH4666');}
catch(异常e){logger.error(e);throw e;}
}

任何想法都会对我非常有用。

1.您的数据库连接是否打开或关闭了自动提交功能?
2.在DB2中,在触发select查询和 在同一事务中更新查询。
3.如果自动提交已关闭,并且您已在 表,然后尝试提交或回滚该事务,然后触发更新 查询。它应该可以工作


如果您仍然面临上述问题,请告诉我。

没有选择查询。这是一个简单的更新sql查询,我是唯一一个处理该查询的开发人员。您是否检查了自动提交是否打开或关闭?请在执行更新后立即显式提交事务。我这里也有同样的问题,您有什么解决方案吗ns@Yakhoob
public void updateStatus() {
    try { getJdbcTemplate().update("UPDATE <table name> SET status= 'CLOSED' WHERE PROCESSID IN ('ABC1243', 'DTH4666');}
    catch (Exception e) { logger.error(e); throw e; }       
}