Answers:
持久性上下文处理一组实体,这些实体保存要持久存储在某个持久性存储(例如数据库)中的数据。特别地,上下文意识到实体可以相对于上下文和基础持久性存储具有不同的状态(例如,被管理,分离)。
尽管与Hibernate相关(JPA提供程序),但我认为这些链接很有用:
http://docs.jboss.org/hibernate/core/4.0/devguide/zh-CN/html/ch03.html
http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/architecture.html
在Java EE中,通常通过EntityManager访问持久性上下文。
http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html
实体可以具有的各种状态以及它们之间的过渡描述如下:
http://docs.jboss.org/hibernate/entitymanager/3.6/reference/en/html/objectstate.html
http://gerrydevstory.com/wp-content/uploads/2012/05/jpa-state-transtition.png
取自此页面:
这是JPA世界的快速备忘单:
虽然@pritam kumar给出了很好的概述,但第5点是不正确的。
持久性上下文可以是事务范围的-持久性上下文在事务长度内“有效”,也可以是扩展的-持久性上下文跨越多个事务。
https://blogs.oracle.com/carolmcdonald/entry/jpa_caching
JPA的EntityManager和Hibernate的Session提供了扩展的持久性上下文。