【发布时间】:2021-07-21 06:07:53
【问题描述】:
实体管理器是一个包装器,被休眠会话用于持久化对象。 Session 有一个 Persistent Context,它在其中保存对象(如在缓存中)。 每次事务结束/开始时都会关闭并创建会话。事务处理后清除缓存。 这被 Hibernate 称为 1 级缓存。
如果您能告诉我我是否理解正确,我将不胜感激。
【问题讨论】:
标签: hibernate
实体管理器是一个包装器,被休眠会话用于持久化对象。 Session 有一个 Persistent Context,它在其中保存对象(如在缓存中)。 每次事务结束/开始时都会关闭并创建会话。事务处理后清除缓存。 这被 Hibernate 称为 1 级缓存。
如果您能告诉我我是否理解正确,我将不胜感激。
【问题讨论】:
标签: hibernate
希望这本书对您有所帮助,值得。
参考: James Elliot、Tim O'Brien、Ryan Fowler 的“Harnessing Hibernate”,第 49 页
在亚马逊上找到它: https://www.amazon.com/Harnessing-Hibernate-Step-step-Persistence/dp/0596517726/
...“在实际执行持久化时,我们要求 SessionFactory 为我们打开一个 Session,它建立与数据库的 JDBC 连接,并为我们提供一个上下文,我们可以在其中创建、获取、操作,并删除持久对象。只要会话打开,就会保持与数据库的连接,并跟踪与会话关联的持久对象的更改,以便在会话关闭时将它们应用于数据库。从概念上讲,您可以将会话视为持久对象和数据库之间的“大规模事务”,它可能包含多个数据库级事务。但是,与数据库事务一样,您不应该考虑长时间保持 Hibernate 会话打开应用程序存在的时间(例如您正在等待用户输入的时间)。单个会话用于应用程序中的特定和有界操作,例如填充用户界面或创建通道用户犯下的愤怒。” ...
此外,您可能会发现此文档也很有帮助。
实体管理器: https://docs.jboss.org/hibernate/entitymanager/3.6/reference/en/html/
【讨论】: