我使用 GORM 从 groovy 类生成我的数据库的 DDL。这很棒。但是,生成的 SQL 中的字段顺序与类中的字段顺序不同。例如,如果我创建类
class Person
{
String firstName
String lastName
String address
String email
}
生成以下 SQL(用于 MySQL)
CREATE TABLE `test` (
`id` bigint(20) NOT NULL auto_increment,
`version` bigint(20) NOT NULL,
`address` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`first_name` varchar(255) NOT NULL,
`last_name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
这些字段已按字母顺序排序(在自动生成的 id 和 version 字段之后)。还行吧。在这种情况下,但我有一些更广泛的表格,其中按字段顺序包含重要的上下文信息。
这是我的问题:你如何告诉 GORM 按照 groovy 类中声明的顺序对 SQL 中的字段进行排序?
最佳答案
似乎没有一种方法可以指定排序,但您始终可以根据需要创建自己的表,并在域类中提供名称映射。
您也可以让 GORM 创建表,然后以正确的顺序重新创建表,然后关闭 GORM 中的自动 DDL 内容。如果您使用 GORM 选择的字段和表名称,则不需要添加任何映射。
关于sql - 指定从 GORM 类生成的 DDL 中的字段顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/494135/