gpt4 book ai didi

java - 当您不确定单元名称时如何创建 EntityManager?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:16:42 25 4
gpt4 key购买 nike

我处于需要在运行时确定 EntityManager 的单元名称的情况。

例如,我想做这样的事情:

@PersistenceContext(unitName = findAppropriateJdbcName())
EntityManager entityManager;

但是,这对于注释是不可能的。

当您直到运行时才确定单元名称是什么时,是否可以创建 EntityManager?

最佳答案

可以在运行时指定持久性单元 (PU) 名称,但这是用于创建 EntityManagerFactory 的参数,而不是单独的 EntityManager。查看Javadoc对于 Persistence 类方法 createEntityManagerFactory()。示例:

EntityManagerFactory emf = Persistence.createEntityManagerFactory(unitname);
EntityManager em = emf.createEntityManager();
// ...

我在非 Java EE 应用程序中执行此操作(在 Tomcat 托管的 Web 应用程序中使用 Java 6 SE 调用),但我不确定您如何在容器管理的 Java EE 6 应用程序中执行相同的操作。这是可能的。

关于java - 当您不确定单元名称时如何创建 EntityManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4292969/

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