Fre*_*her 4 java session hibernate
首先,这听起来像是一个重复的问题,但我没有得到我期待的解决方案,所以我发布了这个新问题?我几天前开始学习休眠。我被困在这件事上:
这是我的代码:
public static void open_connection()
sessionfactory=new Configuration().configure().buildSessionFactory();
Listsession = sessionfactory.openSession();
}
public List select(String qry)
{
open_connection();
Listsession.beginTransaction();
query =Listsession.createQuery(qry);
list=query.list();
Listsession.getTransaction().commit();
Listsession.close();
sessionfactory.close();
}
Run Code Online (Sandbox Code Playgroud)
一季度。我在查询运行时关闭了 sessionfactory。这是一个好方法吗?我想在我们不需要它时关闭数据库连接,就像我们在 JDBC 中所做的那样(我的老师教过我)。
Q2。当用户从我的网站注销时,我应该关闭连接吗?
Q3。将 sessionfactory.close(); 还销毁我的会话变量(session.setattribute("user",ur);)。
第 4 季度。Listsession.getTransaction().commit(); 还关闭交易?
我想知道这一点,因为很多次我在 netbeans 上运行我的项目时,我都遇到了空指针异常,但是当我在线运行同一个项目时,我没有遇到空指针异常,我认为这是因为每次运行我的项目时都会调用 openconnection。很抱歉发布了这么多问题,因为我无法得到我正在寻找的确切答案。
1.您应该关闭Session但不是SessionFactory
2.您Session在执行查询后已经关闭,那么logout从站点再次关闭的重点在哪里?
3.HttpSession与Hibernate 中的Session 不同。HttpSession用于存储用于维护用户请求序列的属性。但Session在Hibernate中只能与数据库交互。因此,关闭Session在休眠不反省HttpSession。
4.如果你正在使用openSession(),你应该手动关闭会话。但如果你正在使用getCurrentSession(),你就不用管它了,一旦事务提交,会话将自动关闭。
希望能帮助到你,
| 归档时间: |
|
| 查看次数: |
13446 次 |
| 最近记录: |