2015-07-10 161 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代理服務器,代表應用程序代碼獲取和發佈預留上下文

相關問題