首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate: hbm2ddl反向列顺序

Hibernate: hbm2ddl反向列顺序
EN

Stack Overflow用户
提问于 2012-09-15 02:13:35
回答 1查看 4.6K关注 0票数 5

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

如何使它按照类的相同顺序创建列?

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

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

Hibernate 4.0.0 (JBoss为7.1.2) MySQL 5.1.x

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-15 13:49:49

Hibernate团队表示,这是一个已知限制,不可能设置订单。但是在生产中使用Hibernate时不应该依赖hbm2ddl,它是非常有限的,例如它可以添加列,但不能删除它。相反,人们通常使用LiquiBaseFlyWayDbDeploy等工具创建DB迁移,这给您提供了更多的灵活性和对模式更新的控制。

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

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12433998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档