簡體   English   中英

為什么要使用實體管理器?

[英]Why use an entity manager?

我正在使用Hibernate將對象映射到實體,並且已經開始使用實體管理器。 這可能是一個愚蠢的問題,但是實際上使用實體管理器的原因是什么? 以前,我會使用HibernateSessionFactory來獲取一個會話,然后使用該會話來拉/推數據。

因為EntityManager是標准EntityManager的一部分。 從理論上講,如果需要,您可以切換實現(Hibernate,EclipseLink,OpenJPA)。 除了所謂的可移植性之外,兩者之間沒有太大區別。

Hibernate實現了JPA標准。 實際上, EntityManager具有基於具體實現的委托。 對於Hibernate,委托是Session 如果調用getDelegate() ,它將返回當前的Session

我一直將休眠與JPA(EntityManager)一起使用,很少需要獲得Session。

EntityManager是JPA的概念。 您根本不需要將JPA與Hibernate一起使用(實際上,如果它是JPA1,我建議您不要使用)。

使用JPA API時,請使用EntityManager。 EntityManager Hibernate實現在內部調用HibernateSessionFactory並為您管理Hibernate會話。

JPA中的EntityManagers基本上與Hibernate會話具有相同的目的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM