插入第一条记录后,createSQLQuery(sql).executeUpdate()无法正常工作

时间:2014-07-14 23:22:55

标签: hibernate hibernate-session

我在下面调用方法,需要通过存储过程将记录插入表中。

在我的本地机器更新工作总是。在插入

后的服务器更新停止

记录。它不会打印任何异常。

我的方法

public void executeTableUpdate(String sql) throws Exception {
    StatelessSession session = null;
    try {
        session = getSessionFactory().openStatelessSession();
        session.beginTransaction();
        int result = session.createSQLQuery(sql).executeUpdate();
    } catch (Exception ex) {
        e.getMessage();
    } finally {
        if (session != null) {
            try {
                session.getTransaction().commit();
                session.close();                    
            } catch (Exception exception) {
             exception.getMessage();
            }
        }
    }
}

传递的SQL是

调用SP_UPDATE_STATUS(NOW(),'value1',NOW(),'value1',1,'summary',)

1 个答案:

答案 0 :(得分:0)

当然,您无法看到任何异常,因为您只是忽略它们:

e.getMessage();

这不是你处理异常的方式。

快速解决方法是:

e.printStackTrace();
  1. 更好的解决方案是使用日志框架(Logback或Lof4j)
  2. 每次调用此方法时打开一个会话都没有效率
  3. 手动打开/关闭事务不应该是在服务器上部署的代码(使用Java EE,Spring或编写自己的拦截器来处理此任务)的情况。