【问题标题】:JPA : order list of entities in function of associationsJPA:关联功能实体的顺序列表
【发布时间】:2017-11-24 05:18:01
【问题描述】:

我有一个 JPA 实体列表,我想自动知道用于生成数据库模式的顺序,例如:

  • 如果实体 A 与实体 B 有关联,则必须在表 A 之前创建表 B,(出于同步目的,我需要知道此顺序)

【问题讨论】:

  • 不清楚您为什么需要订单。数据库模式是预先创建的,一次且仅一次,顺序无关紧要。它可以以任何随机顺序创建表并在以后更新约束,或者预先完成所有操作。如果您想要 DDL 的特定订单,我建议您创建自己的 DDL 脚本,并让您的提供商在需要时执行它们。 dzone.com/articles/generating-database-schemas
  • 我需要知道同步问题的顺序:我将许多实体从一个服务器发送到另一个服务器以更新它们的数据库,所以在持久化实体期间我需要知道持久化的顺序以避免任何完整性问题.
  • 这不是表创建或模式生成,而是插入/更新/删除排序。这些其他服务器理论上应该使用相同的应用程序,因此使用相同的顺序,不是吗?

标签: java hibernate jpa jakarta-ee openjpa


【解决方案1】:

当您启动应用程序时,hibernate 会检查现有模式(无论天气是否持续)。如果缺少模式,您应该会看到每个表的休眠日志记录元数据消息,例如 (Table Found *table name *)。我认为这就是你要找的。每次扫描您的实体(如找到表、已创建表、未找到表)时,它都会生成所有元数据信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 2018-05-20
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    相关资源
    最近更新 更多