为什么要使用实体经理?

chr*_*ann 2 java persistence hibernate

我正在使用Hibernate将对象映射到实体,并且我已经开始使用实体管理器.这可能是一个愚蠢的问题,但实际上是使用实体管理器的原因是什么?以前我会使用HibernateSessionFactory来获取会话,然后使用该会话来提取/推送数据.

Boz*_*zho 5

因为它EntityManager是标准的一部分 - JPA.从理论上讲,如果需要,可以切换实现(Hibernate,EclipseLink,OpenJPA).除了涉嫌携带之外,两者之间没有太大的区别.

Hibernate实现了JPA标准.实际上,EntityManager有一个委托,基于具体的实现.对于Hibernate,代理是Session.如果你打电话getDelegate(),它将返回当前Session.

我一直使用带有JPA(EntityManager)的hibernate,并且很少需要获取Session.