0

我的情况是:

  • 代码不是我的
  • 我有两种数据库:一种是爸爸,一种是儿子。
  • 在爸爸,我有一个表来存储 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 分钟。

4

0 回答 0