gpt4 book ai didi

java - Spring HibernateTemplate session

转载 作者:行者123 更新时间:2023-11-30 11:44:26 26 4
gpt4 key购买 nike

我有两个问题:

  • Spring 何时关闭由 Spring 容器创建的 SessionFactory 类(SessionFactory 是在容器中定义的)?
  • Hibernate 默认维护主缓存。缓存的范围是限于一个session还是sessionFactory?我的意思是,什么时候释放主缓存的内存?

最佳答案

When does Spring close the SessionFactory class that is created by the Spring Container (the SessionFactory is defined in the container) ?

它会在您关闭 ApplicationContext 时自动完成(取消部署 Web 应用程序,优雅地关闭 JVM 等)当容器关闭时,它调用 destroy()方法来自 DisposableBean所有 bean 上的接口(interface)。 LocalSessionFactoryBean 中定义了其中一种方法:

public void destroy() {
this.sessionFactory.close();
}

您根本不必为此烦恼。

Hibernate maintains primary cache by default. Is the scope of cache limited to a session or the sessionFactory? I mean, when is the memory for primary cache released?

“主要”缓存称为第一级 缓存并绑定(bind)到一个 session 。二级缓存全局到SessionFactory , 但是当 SessionFactory 时它没有发布已关闭,因为您很可能正在使用一些外部缓存提供程序,例如 .如果是这种情况,EhCache 也必须关闭以释放该内存。但如果使用 EhCache 支持,这也应该由 Spring 容器处理。

另见

关于java - Spring HibernateTemplate session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10785249/

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