我正在使用Hibernate。
我想用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插入新行,请告诉。
提前致谢。
答案 0 :(得分:2)
您必须通过调用以下方式结束会话:
session.close();
最好还是在finally块中执行:
finally {
session.close();
}