我的情况是:
- 代码不是我的
- 我有两种数据库:一种是爸爸,一种是儿子。
- 在爸爸,我有一个表来存储 JNDI 名称。我将使用 JNDI 查找 Dad,创建实体管理器并检索此表。
- 从这些检索到的 JNDI 名称中,我将使用多个 Son 数据库创建多个实体管理器。
问题是:
- 儿子有成千上万的实体。每个 Son 数据库大约需要 10 分钟来加载所有实体。如果有 4 个 Son 数据库,则需要 40 分钟。
我的问题:
- 假设我们已经创建了一个实体管理器(准备使用),有没有什么办法可以加快这些实体管理器的创建速度(仅在连接上有所不同)
请查看下面的代码
对于每个 Son JNDI:
Map<String, String> puSonProperties = new HashMap<String, String>();
puSonProperties.put("javax.persistence.jtaDataSource", sonJndi);
EntityManagerFactory emf = Persistence.createEntityManagerFactory("PUSon", puSonProperties);
PUson - 他们都使用相同的持久性单元
log.info("Verify entity manager for son: {0} - {1}", sonCode,
emSon.find(Son_configuration.class, 0) != null ? "ok" : "failed!");
这是我猜所有实体的加载开始的实际代码。10 分钟。