gpt4 book ai didi

hibernate - 多个 JPA 持久性单元指向同一个数据库?

转载 作者:行者123 更新时间:2023-12-04 20:57:28 26 4
gpt4 key购买 nike

我们可以在不同的 Java 项目中同时部署多个指向同一数据库的 JPA 持久性单元吗?同时我的意思是,不是在同一秒部署而是一起部署。我正在使用 hsqldb 数据库。

我的项目有一个客户端 - 服务器模型。我有一个统一的数据库表,服务器在其中填充数据,然后客户端在不同的项目中访问该数据。我可以通过服务器成功填充数据库。但是当我部署客户端项目时,数据库中的所有数据都会被删除。

我正在使用 <property name="hibernate.hbm2ddl.auto" value="update" />对于两个持久性单元。

最佳答案

Can we have more than one JPA persistence units pointing to same database, in different Java projects and deployed on the server at the same time?



只要您在两个项目中都没有不兼容的映射,这应该可以工作。但是,您将无法使用二级缓存。

But when I deploy the client project all the data from the database gets erased. (...)



这不是我真正期望的行为 hbm2ddl.auto设置为 update但我不知道在“类集群”环境(多个 JVM 同时执行更新)中使用时行为是否定义良好。

一旦服务器部分完成初始化,当您部署客户端时会发生什么?

我的建议:
  • 设置日志记录以查看发生了什么 正好
  • 如果您共享相同的实体,也许不要update在客户端和服务器上(尽管如果一个接一个地完成,这应该不是问题)。
  • 最终,don't use update at all on production database .
  • 关于hibernate - 多个 JPA 持久性单元指向同一个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3887183/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com