Hibernate Session
class和EntityManager
class有什麼區別?我知道EntityManager
實現了Java持久性API,但我不確定它與Session
的關係。他們有關係嗎?Hibernate Session和EntityManager的區別
回答
SessionFactory和Session是hibernate特定的。 EntityManager在引擎下調用休眠會話。如果你需要的是不可用的EntityManager的一些特定的功能,你可以通過調用獲取會話:
Session session = entityManager.unwrap(Session.class);
Session
是Hibernate的相關API,EntityManager
是JPA API進行了標準化。你可以將EntityManager
看作是一個包含Session
的適配器類(你甚至可以通過getDelegate()
函數從EntityManager
對象中獲取Session
對象)。
這與周圍的其他Java API不同(例如,JDBC是標準API,每個供應商通過實現標準功能的驅動程序將其產品調整爲API)。
他們之間在功能上有區別還是他們或多或少相同? – Alexey
它們不相同(函數具有不同的名稱,甚至不同的目的,註釋是不同的,等等)。 hibernate(和其他每個JPA供應商)所做的是提供一個適配器對象,通過調用本地hibernate API來創建EntityManager功能。 – EmirCalabuch
- 1. (Hibernate)Session.close()和releaseSession(Session)之間的區別
- 2. 使用EntityManager從EJB訪問Hibernate Session
- 3. 的Servlet的java:cookie和session的區別
- 4. spring jdbctemplate和Hibernate的區別
- 5. Session和HttpContext.Current.Session之間的區別
- 6. JPA - Hibernate Session被關閉,但EntityManager的工作
- 7. HttpRuntime.Cache和Session有什麼區別?
- 8. NHibernate中StatelessSession和Session有什麼區別?
- 9. Hibernate的Session
- 10. Hibernate的Session廠
- 11. jpa和hibernate的相似性和區別
- 12. Hibernate - EntityManager管理
- 13. 休眠,使用Session或EntityManager
- 14. Symfony2中ObjectManager與EntityManager的區別?
- 15. Hibernate中SchemaUpdate和SchemaExport之間的區別
- 16. 區別b/w Hibernate的Sessionfactory.getCurrentSession()和SessionFactory.openSession()
- 17. Hibernate模板和JDBC模板的區別
- 18. CoreData和Hibernate之間的區別
- 19. Hibernate中FlushMode.AUTO和FlushMode.ALWAYS的區別?
- 20. Hibernate + Spring + session + cache
- 21. Spring,Hibernate,EntityManager和類的繼承
- 22. java.lang.NoClassDefFoundError:org/hibernate/Session設置hibernate jars
- 23. GWT-P + JPA Hibernate EntityManager
- 24. EntityManager NullPointerException Spring + Hibernate + Maven
- 25. Hibernate註解連同EntityManager的
- 26. JPA,EJB3和hibernate有什麼區別?
- 27. Hibernate庫和Hibernate JPA庫之間的區別
- 28. Hibernate Session被關閉
- 29. java.lang.NoSuchMethodError:org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session
- 30. Grails的Hibernate的Session只讀
關閉會話足夠了嗎?將關閉會話傳播到entityManager?我應該關閉從會話獨立創建的entityManager嗎? – Sergey