gpt4 book ai didi

Hibernate:按 hbm2ddl 反转列顺序

转载 作者:行者123 更新时间:2023-12-03 12:56:49 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Wrong ordering in generated table in jpa

(4 个回答)


2年前关闭。




我让 hbm2ddl 为我创建表(用于开发目的),并且列的顺序与类中的字段顺序相反。

我怎样才能让它以与类(class)相同的顺序创建列?

我认为 Java 类不存储字段的顺序,因此 Hibernate 根本不知道源中的顺序是什么(如果我考虑更复杂的情况,这似乎是合乎逻辑的)。

但是,我至少可以要求 Hibernate 将 PK 和 FK 列作为第一列吗?

hibernate 4.0.0 (JBoss AS 7.1.2)
MySQL 5.1.x

最佳答案

Hibernate 团队说这是一个 known limitation并且无法设置顺序。但是在生产中使用 Hibernate 时不应该依赖 hbm2ddl,它是非常有限的,例如它可以添加列,但不能删除它。相反,人们通常使用 LiquiBase 之类的工具创建数据库迁移。或 FlyWayDbDeploy ,这为您提供了更大的灵活性和对架构更新的控制。

描述这种方法如何提供帮助:假设您有一个 UAT 环境并且您刚刚更新了架构 - 您想向现有列添加非空约束。使用 hbm2ddl 是不可能的,您将强制您的 QA 从头开始​​重新创建数据库。使用上述工具,您需要添加一个 SQL 文件,这些工具将运行这个新脚本,分别更新架构。您可能还想设置 hbm2ddl=verify 以确保当前的数据库架构是最新的,反之亦然 - Hibernate 映射是正确的。

关于Hibernate:按 hbm2ddl 反转列顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12433998/

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