是什么@Autowired VS @PersistenceContext EntityManager的为豆
@Autowired
private EntityManager em;
和
@PersitenceContext
private EntityManager em;
两种选项都在我的应用程序工作的区别,但我可以打破使用@Autowired注解的东西吗?
是什么@Autowired VS @PersistenceContext EntityManager的为豆
@Autowired
private EntityManager em;
和
@PersitenceContext
private EntityManager em;
两种选项都在我的应用程序工作的区别,但我可以打破使用@Autowired注解的东西吗?
@PersistenceContext
是为特定目的设计的JPA标准注释。而@Autowired
用于Spring中的任何依赖注入。使用@PersistenceContext
可以更好地控制上下文,因为它使您能够指定可选元素,例如名称,属性
@PersistenceContext
允许您指定要使用哪个持久性单元。您的项目可能有多个数据源连接到不同的DB和@PersistenceContext
让你说你要在
检查的解释工作在这里哪一个: http://www.coderanch.com/t/481448/java-EJB-SCBCD/certification/unitName-PersistenceContext
@PersistenceContext:
做不是退货实体经理实例
返回 container-manag代理服务器,代表应用程序代码获取和发布预留上下文
我知道这一点,但是在应用程序中有什么影响?考虑使用Spring的标准** @ Transactional **。当使用** @ Autowired **时,会发生与使用** @ PersistenceContext **相同的行为,并且每个应用程序事务具有em? –
我认为使用'@PersistenceContext'通常是最好的实践,因为它更接近地描述了你正试图实现的依赖注入的类型。此外,它提供了专用于EntityManager的可选参数,当您有多个EntityManager时,这可能很有用。在功能上,我相信你可以用'@ Autowired'实现相同的注入,但我会推荐使用这样设计的注释。 – Alex
这个http://blog.jhades.org/how-does-spring-transactional-really-work/可以比我更好地解释它。 – Alex