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

标签 hibernate spring jpa

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

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

最佳答案

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

唯一的例子 - 而且是一个非常人为的例子 - 我可以想到可能有意义的地方是,如果模式的数量相当大,并且您不希望所有的模式都如此在您的使用生命周期期间是必要的。即使如此,您所节省的只是一些内存。

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

关于hibernate - 在 JPA 和 Spring 中可以动态创建持久性单元吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1574038/

相关文章:

mysql - 未连接互联网时无法加载 AnnotationConfiguration hibernate

java - hibernate 列名问题

java - 如何处理: 'An JNi error has occurred, check your installation and try again' ?

java - 如何在 Java EE 上使用 Hibernate、C3P0 处理数据库连接失败?

java - Hibernate 在 Map 中映射 UserType

java - 接口(interface)上的注释会在实现中保留吗?

java - Spring 数据 MongoDB : How ignore unique indexed field when Document is embedded in another one?

java - hibernate中的依赖事务

java - JPA:外键注释

java - 删除的实体何时写入 eclipselink UnitOfWorkChangeSet?