gpt4 book ai didi

java - 我们必须关闭 session 对象吗?

转载 作者:行者123 更新时间:2023-12-01 22:29:45 25 4
gpt4 key购买 nike

使用后是否必须关闭 session ?据我了解,SessionFactory 在需要时会关闭 session 。例如:

    @Autowired
private SessionFactory sessionFactory;

public long count(String extId) {
Session session = this.sessionFactory.getCurrentSession();
BigDecimal count = (BigDecimal) session
.createSQLQuery(
"SELECT COUNT(*) FROM smsc.queue WHERE extId=:extId AND nextId IS NULL")
.setString("extId", extId).uniqueResult();
return count.longValue();
}

这是我的服务中调用的 DAO 方法。这是否意味着我每次都必须关闭 session ?

最佳答案

是的。当您完成后,您应该关闭它。您不需要自己显式关闭它,有一些框架可以为您执行此操作。打开和关闭 session 并不是一个昂贵的操作。由于缓存的 session 数据随着时间的推移变得越来越陈旧,因此将它们保持打开时间过长通常会出现问题。第一次调用 getCurrentSession() 时打开 session ,并在事务结束时关闭 session 。在事务提交之前它也会自动刷新。

https://developer.jboss.org/wiki/OpenSessionInView

关于java - 我们必须关闭 session 对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28062368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com