gpt4 book ai didi

java - EntityManager 注入(inject)良好实践

转载 作者:行者123 更新时间:2023-11-29 08:28:11 25 4
gpt4 key购买 nike

如标题 - 为什么使用 CDI(上下文和依赖注入(inject))注入(inject) EntityManager(使用 Producer 和 @Inject 注释)被称为良好实践?为什么它比使用 @PersistenceContext 注释更好?我读到它是首选实现,但我找不到原因。

最佳答案

CDI是 Java EE 中依赖注入(inject)的标准技术,它方便EntityManager 创建方法生成器然后你可以简单地注入(inject)你的 bean 。

@PersistenceContext注释有许多可配置元素(例如 name ),例如,您可能不想在整个应用程序中复制它们。

当您有多个 持久性单元时,CDI 注入(inject)特别有用。然后您可以利用 CDI 限定符进行注入(inject):

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;

关于java - EntityManager 注入(inject)良好实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50644601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com