加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何使用hibernate会话?

发布时间:2020-12-15 08:40:11 所属栏目:Java 来源:网络整理
导读:我的程序结构如下: 在我的主java类中: for () // this will execute for say 5000 times ---- LINE 1{ // do select on Database1 (this will select say 10000 rows) ---- LINE 2 // do some computations (mainly string operations) ---- LINE 3 call f
我的程序结构如下:

在我的主java类中:

for () // this will execute for say 5000 times ---- LINE 1
{
    // do select on Database1 (this will select say 10000 rows) ---- LINE 2

    // do some computations (mainly string operations) ---- LINE 3

    call function1() // this will do some update on Database1 ---- LINE 4
}

现在,我正在尝试使用Hibernate访问Database1.我的问题是我应该如何使用hibernate会话来访问它.我应该什么时候开始会议,什么时候结束呢?

如果我在for()循环之前启动它,我可以将同一个会话传递给function1(),因为它访问同一个数据库吗?或者一旦我做了选择(LINE 1),我必须关闭它并在function1()中打开一个新的会话?
我主要关心的是优化整体性能并最大限度地缩短总体执行时间.

我是Hibernate的新手.因此,如果我问一个非常愚蠢的怀疑,请原谅我.

解决方法

假设您希望所有更新都是单个原子事务,则需要打开Session并在循环之前开始事务.然后,在循环之后,您将要提交事务并关闭会话.

如果每个更新都应该是它自己的原子事务,那么您仍应该只打开一个Session,然后对每个循环迭代使用一个新事务.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读