首页 > 解决方案 > 执行更新问题

问题描述

我在 Hibernate 中遇到 executeUpdate 问题。通过休眠触发的查询就像

Update table set column1='abc',column2=:time,servertime=:servertime where service IN :arrservice  

假设有 4 个服务要更新 'abcd','pqrs,'xyz','def'

有时它会更新所有服务,有时会更新所有服务,有时不会更新任何服务。

我既没有得到任何异常也没有任何错误。在我使用 select 和这些服务检查相同查询的地方,我得到了它的记录,但同时更新对它们不起作用。

String queryStm="Update table set column1='abc',column2=:time,servertime=:servertime where service IN :arrservice"
    Query query = em.createNativeQuery(queryStm);
            query.setParameter("arrservice", arrService);
            query.setParameter("time", time);
            query.setParameter("servertime", new Timestamp(new Date().getTime()));

LOG.debug("No updated" + query.executeUpdate());

如果假设有 4 个服务要更新,则上述日志有时也会给出 4、3、2 和 0。

我不确定这里出了什么问题。为什么它不总是更新所有 4 个。我在服务器上使用 Postgres 10,以下是我在 pom 中包含的依赖项:-

<dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901.jdbc4</version>
        </dependency>

任何帮助都将是非常可观的。

标签: javahibernatepostgresql-10

解决方案


推荐阅读