当使用 JPA 的 Hibernate 实现并使用 Spring 数据源管理这些资源时,EntityManager 会话何时关闭?例如,我有下面的基本模式,其中 Spring 服务层调用 Spring DAO 层(@repository)。DAO 存储库自动装配 PersistentContext 的 EntityManager 并执行 DB 操作。我的问题是,在 getData Service 方法完成后,EntityManager 会话何时关闭?我在问这个问题,因为我试图查看休眠 L1 缓存将存在多长时间,并且因为它直接与 EntityManager 会话相关联......
@Service
public class TestService{
@Autowired
private dataDAO;
@Transaction
public List getData(Long id){
return dataDAO.getDate(id);
}
}