Hibernate的SQLQuery executeUpdate函数启动,但没有完全执行

时间:2016-07-12 16:58:35

标签: java spring hibernate

使用使用Hibernate的Spring应用程序,在我的DAO层中,我们运行UPDATE语句来更新Oracle数据库中的某些值。

为了确保我没有疯狂,我在SQL Developer中运行语句以确保它正常工作。这是我的DAO代码的一部分:

public void updateObjectInMyTable(SomeClassA objectOfSomeClassA) {
        Session session = getCurrentSession();
        String sql = "UPDATE SCHEMA_NAME.TABLE_XYZ SET FIRST_NAME=:firstName, LAST_NAME=:lastName, ADDRESS=:address, CITY=:city, ZIPCODE=:zipcode WHERE ID_NUMBER = :idNumber";
        SQLQuery query = session.createSQLQuery(sql);
        query.setParameter("firstName", objectOfSomeClassA.getFirstName());
        query.setParameter("lastName", objectOfSomeClassA.getLastName());
        query.setParameter("address", objectOfSomeClassA.getAddress());
        query.setParameter("city", objectOfSomeClassA.getCity());
        query.setParameter("zipcode", objectOfSomeClassA.getZipcode());
        query.setParameter("idNumber", objectOfSomeClassA.getIdNumber());
        query.executeUpdate();
    }

(请原谅用于替换真实变量的不良变量名称。)我在服务器上进行了调试,我没有看到任何错误query.executeUpdate() 它到达那一行,而不是转到我服务层中的下一个语句。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的交易在哪里?!

使用:

session.beginTransaction().commit();

在代码的结尾处添加此内容。

我希望这会对你有所帮助。