EntityManager何时获取新会话?

时间:2019-05-29 11:58:43

标签: jpa

很明显,EntityManager正在举行当前会话,我们可以使用以下方法获取它:

Session session = entityManager.unwrap(Session.class);

但是我很好奇EntityManager何时获得新的。

@edit

@PersistenceContext(type = PersistenceContextType.TRANSACTION, unitName = "context")
private EntityManager              em;

1 个答案:

答案 0 :(得分:0)

根据您的代码,我假设您正在使用Java EE或Spring。

@PersistenceContext(type = PersistenceContextType.TRANSACTION, unitName = "context")
private EntityManager em;

在这种情况下,EntityManager绑定到事务。这意味着您每进行一次新事务都会获得一个新的EntityManager。

Session和EntityManager相同,并且具有相同的生命周期。这只是相同的别称。会话是Hibernate lang语和EntityManager JPA。