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

时间:2009-10-15 17:57:05

标签: hibernate spring jpa

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

这是否可以使用Spring和JPA给出所有必须在启动时进行正常PU创建的建筑物?这个好主意可以扩展吗?

1 个答案:

答案 0 :(得分:2)

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

唯一的例子 - 而且非常做作的那个 - 我可以想到可能有意义的地方是如果模式的数量相当大并且你不希望所有模式都是在您的服务期限内必需。即使这样,你节省的只是一些记忆。

所以,除非我在这里遗漏了一些东西(如果我在这里,请通过动态创建持久性单元来澄清你想要实现的目标),我建议你预先定义你所有的持久性单位。然后,您可以通过将持久性单元名称指定为参数来创建或注入适当的EntityManagerFactory实例。