gpt4 book ai didi

java - 在 Hibernate 中关闭 session 连接

转载 作者:行者123 更新时间:2023-12-02 02:50:02 25 4
gpt4 key购买 nike

这是我的 Hibernate 标准查询:

Criteria criteria = sessionFactory.getCurrentSession().createCriteria(myclass.class, "b");
ProjectionList properties = Projections.projectionList();
listArr = criteria.setResultTransformer(Transformers.aliasToBean(HashMap.class)).list();

我想在执行查询后关闭 session 连接。

最佳答案

您正在使用sessionFactory.getCurrentSession(),因此您无需刷新并关闭 session 。当交易结束时它会自动刷新并关闭。

更多

获取当前 session

当你调用SessionFactory时。 getCurrentSession,它将为您提供位于 hibernate 上下文中并由 hibernate 内部管理的 session 对象。它与交易范围绑定(bind)。当你调用SessionFactory时。 getCurrentSession ,如果不存在,它会创建一个新的 session ,否则使用当前 hibernate 上下文中的相同 session 。

开放 session

当你调用SessionFactory.openSession时,它总是重新创建新的Session对象并将其提供给你。您需要显式刷新并关闭这些 session 对象。由于 session 对象不是线程安全的,因此您需要在多线程环境中为每个请求创建一个 session 对象,并且在 Web 应用程序中也为每个请求创建一个 session 。

如果你在单线程环境下使用hibernate,你可以使用getCurrentSession

关于java - 在 Hibernate 中关闭 session 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44001696/

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