什么时候关闭休眠会话?

Bal*_*esh 1 java hibernate

我正在使用动态 Web 项目。我在服务器启动时打开会话。为此,我使用了一吨静态类,并在各处使用会话。

但我不确定何时关闭会话。你知道哪里可以处理吗?最佳做法是什么?

nik*_*shi 6

Hibernate 中有两个对象:

Short Answer : 
SessionFactory : Heavy Weight.
Session : light weight.
Run Code Online (Sandbox Code Playgroud)

长答案:

SessionFactory 负责创建与数据库的连接并管理其他东西,因此创建 sessionFactory 是一项耗时的任务。所以我会说每个应用程序只应该创建一个 sessionFactory 对象,或者更好的方式是每个数据库创建一个 SeesionFactory 对象。

现在来到你的 Session,它是一个轻量级的对象,你可以为每个事务创建会话对象,当你完成事务后你可以关闭会话。