【问题标题】:MySQL + Hibernate Update queries are not executedMySQL + Hibernate Update 查询未执行
【发布时间】:2014-01-30 00:30:18
【问题描述】:

我有一个 mysql 5 DB 和一个 hibernate 4 应用程序

我用这个方法更新某个实体

public void executeNamedQuery(String namedQuery,Map params) {
    if(params != null){
        try{
            getSession().getNamedQuery(namedQuery).setProperties(params).executeUpdate();
            getSession().flush();
        } catch (Exception e){
            e.printStackTrace();
        }
    }
    else{
        getSession().getNamedQuery(namedQuery).executeUpdate();
    }
}

这就是调试器写的内容

Hibernate: update announcement set status=?, dcp_id=? where announcement_id=?

当我打开 mysql 日志表时,我在进来的查询中发现了这个查询

update announcement set status=-6, dcp_id=149714 where announcement_id=81

但是该行没有更新,当我在工作台中执行时它工作正常。

这里的问题可能是什么原因造成的?

【问题讨论】:

    标签: mysql spring hibernate


    【解决方案1】:

    我不知道executeNamedQuery 周围的情况,但您的更改似乎没有提交到数据库。在这种情况下,upate 将在事务超时后回滚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多