gpt4 book ai didi

java - 使用现有数据库 hibernate

转载 作者:行者123 更新时间:2023-11-30 09:50:59 26 4
gpt4 key购买 nike

我正在尝试使用 hibernate 和 oracle 数据库构建一个 spring roo 项目。 oracle 数据库包含另一个应用程序使用的表。

我有一个实体 User 已经存在于数据库中,包含数千个用户并由另一个应用程序共享。

我的新 roo 项目包含用户实体和一些其他实体。 persistence.xml 配置了以下属性:

<property name="hibernate.hbm2ddl.auto" value="update"/>

在应用程序的第一次部署中, hibernate 失败,因为没有实体表。将值更改为“create”可以修复此问题,但会删除用户表 :(

有解决办法吗?我想做的是这个

  1. 属性值为“create”但用户实体以某种方式被排除
  2. 部署应用程序、创建表等。使用现有的用户表。
  3. 停止申请
  4. 将属性值修改为“update”
  5. 没有数据丢失:)

非常感谢。

最佳答案

一定有更好的方法来做到这一点,但这里有一个快速的 hack 可以让你按照你想要的步骤滚动:

  1. 将 Hibernate 映射中的表重命名为 user_unused
  2. 修改属性值以创建
  3. 部署应用程序、创建表等,现有的 user 表保持不变。
  4. 停止申请
  5. 将 Hibernate 映射中的表重命名为 user
  6. 将属性值修改为更新
  7. 删除 Hibernate 在步骤 1 中创建的 user_unused 数据库表

关于java - 使用现有数据库 hibernate ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4877488/

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