transaction.auto_close_session参数的问题

当hibernate设置采用JDBC事务,事务上下文设置为thread的时候,将transaction.auto_close_session设置为false。
session会在什么时候关闭?需要自己调用session.close()方法来关闭吗?

配置内容如下:
[code="java"]
org.hibernate.transaction.JDBCTransactionFactory
thread
true
false
[/code]

[b]问题补充:[/b]
谢谢playfish的答案。
如果没有调用close方法关闭的话,会产生怎样的结果?会导致数据库连接不能释放?数据库连接池连接消耗光?hibernate是怎么管理这些session的?希望有人能补充一下,谢谢。

1个回答

设置为true的话session会在事务完成后将被自动关闭,设置为false的话你就需要手动的自己调用session.close()来关闭。在某些情况下,你可能要保持session,等到你自己需要的时候再关闭。这种情况下,你需要小心的控制。至于不关闭的情况下session的生命周期,是由hibernate来控制的。具体我就不懂了~

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问