簡體   English   中英

EntityManager注入良好實踐

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM