代码之家  ›  专栏  ›  技术社区  ›  non sequitor

在JPA和Spring中,可以动态创建持久性单元吗?

  •  3
  • non sequitor  · 技术社区  · 15 年前

    所以很明显我们需要在运行中创建持久性单元。基本上,我们有这个Web服务和一组具有相同域类的相同模式。我们希望能够将查询传递给上下文路径与架构匹配的Web服务。第一次查询服务时,然后传入该模式名并动态创建持久性单元,然后每次都使用该持久性单元,并在每次对尚未创建的模式请求服务时重复该过程。

    考虑到启动时必须完成的所有建筑,是否可以使用Spring和JPA来创建正常的PU?这个聪明的想法是可扩展的吗?

    1 回复  |  直到 15 年前
        1
  •  2
  •   ChssPly76    15 年前

    因此,如果您的数据库模式是预先定义的,那么我不太明白为什么要“即时”创建持久性单元。

    唯一的例子——也是非常做作的一个——我能想到在哪里 可以 有意义的是,如果模式的数量相当大,并且您不希望在服务生命周期中所有模式都是必需的。即便如此,你所保存的只是一些记忆。

    所以,除非我在这里遗漏了一些东西(如果我是,请澄清您希望通过“即时”创建持久性单元来实现什么),否则我建议您预先定义所有持久性单元。然后,可以通过将持久性单元名称指定为参数来创建或插入适当的EntityManagerFactory实例。