2015-07-10 158 views

回答

2

@PersistenceContext是为特定目的设计的JPA标准注释。而@Autowired用于Spring中的任何依赖注入。使用@PersistenceContext可以更好地控制上下文,因为它使您能够指定可选元素,例如名称,属性

+0

我知道这一点,但是在应用程序中有什么影响?考虑使用Spring的标准** @ Transactional **。当使用** @ Autowired **时,会发生与使用** @ PersistenceContext **相同​​的行为,并且每个应用程序事务具有em? –

+1

我认为使用'@PersistenceContext'通常是最好的实践,因为它更接近地描述了你正试图实现的依赖注入的类型。此外,它提供了专用于EntityManager的可选参数,当您有多个EntityManager时,这可能很有用。在功能上,我相信你可以用'@ Autowired'实现相同的注入,但我会推荐使用这样设计的注释。 – Alex

+1

这个http://blog.jhades.org/how-does-spring-transactional-really-work/可以比我更好地解释它。 – Alex

3

@PersistenceContext

做不是退货实体经理实例

返回 container-manag代理服务器,代表应用程序代码获取和发布预留上下文

相关问题