[英]EntityManager inject good practice
就像標題中一樣-為什么使用CDI(上下文和依賴項注入)注入EntityManager
(使用Producer和@Inject
批注)被稱為一種好習慣? 為什么它比使用@PersistenceContext
注釋更好? 我讀到它是首選的實現,但我找不到原因。
CDI是Java EE中用於依賴項注入的標准技術,它使為EntityManager
創建方法生產者變得很方便 ,然后您可以簡單地將其注入到bean中。
@PersistenceContext
批注具有許多可配置的元素(例如name
),例如,您可能不想在整個應用程序中重復它們。
當您有多個持久性單元時,CDI注入特別有用。 然后,您可以利用CDI限定詞進行注入:
public class Databases {
@Produces @Users
@PersistenceContext(unitName="UserData")
EntityManager userEntityManager;
@Produces @Documents
@PersistenceContext(unitName="DocumentData")
EntityManager docDatabaseEntityManager;
}
@Inject @Users
EntityManager em;
@Inject @Documents
EntityManager em;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.