在getCurrentSession()上使用openSession() - 何时以及为什么?

dig*_*nie 6 java hibernate jpa

这个问题与我提出的另一个问题有关,但是为什么你会使用openSession()而不是getCurrentSession()的原因是什么?我知道您将使用openSession()以便您可以自行管理会话的关闭和刷新,但是,为什么要手动执行此操作?

当我想在当前会话中隔离执行事务时我使用了openSession(),虽然我不确定这是否正确使用了openSession().

为什么要打开多个会话?

Pas*_*ent 5

我知道您会使用 openSession() 以便您可以自行管理会话的关闭和刷新,但是,您为什么要手动执行此操作?

一种openSession()用于实现长对话(即,当您想将单个会话用于多个数据库事务时,又名扩展会话模式)。

当我想独立于当前会话执行事务时,我使用了 openSession(),尽管我不确定这是否正确使用 openSession()。

嗯……什么?事务和会话是不同的概念。你是什​​么意思?

为什么要打开多个会话?

这不是意图。

参考