我使用 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 和版本字段之后)。在这种情况下这没问题,但我有一些更广泛的表,其中按字段顺序包含重要的上下文信息。
这是我的问题:如何告诉 GORM 按照 groovy 类中的声明顺序对 SQL 中的字段进行排序?