【问题标题】:How to insert a new row with new values (without copying from another object) in HQL..?如何在 HQL 中插入具有新值的新行(不从另一个对象复制)..?
【发布时间】:2012-07-11 11:46:15
【问题描述】:

我正在使用休眠。

并且我想使用 HQL 将具有新值的新行(不从另一个对象复制)持久地存储到我的数据库中。

我在 struts 动作类中用于插入新行的代码是:

public String execute() throws Exception {
        Users u = null;
        try {
            Session session = HibernateUtil.getSessionFactory().getCurrentSession();
            session.beginTransaction();
            u = new Users();
            u.setAge(getAge());
            u.setCity(getCity());
            u.setEmail(getEmail());
            u.setName(getUsername());
            u.setPassword(getPassword());
            u.setSex(getSex());
            session.save(u);
            session.getTransaction().commit();
        } catch (Exception e) {
            this.addActionError("Oops. And Error Encountered...!");
        }
        return SUCCESS;
    }

代码成功执行,没有任何错误。但它并没有永久存储在我的数据库中。我在数据库中看不到新行。可能是什么错误?

或者如果有任何其他方法可以使用 HQL 插入新行,请告知。

提前致谢。

【问题讨论】:

  • 你知道当你对一个答案感到满意就应该接受它吗?
  • 嗨 adranale,我是 stackoverflow 的新手。所以我可以知道,接受答案的正式方式是什么。
  • 谁能解决我的另一个问题..? stackoverflow.com/questions/11487435/…

标签: hibernate hql


【解决方案1】:

你必须在最后通过调用关闭会话:

session.close();

最好在 finally 块中进行:

finally {
  session.close();
}

【讨论】:

    猜你喜欢
    • 2023-03-20
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 2021-04-26
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    相关资源
    最近更新 更多