禁用grails中本机生成的标识值功能

时间:2014-05-13 04:31:31

标签: grails identifier generated heidisql

以下是我的Domain类详细信息。

class Age {
    String agetype
    static constraints = {
    }

}

我正在使用HeidiSQL。我想删除自动生成的id列。并将主键设置为'agetype'。我该怎么办?

1 个答案:

答案 0 :(得分:1)

如果不需要默认id,则可以在映射块内轻松自定义标识符。

class Age {
    String agetype

    static mapping = {
        id name: 'agetype', 
           column: 'AGE_TYPE', // if the column name is AGE_TYPE
           generator: 'assigned' // Unique String should assigned for agetype
    }

    static constraints = {
        agetype bindable: true //identifiers are not bindable by default
    }
}

通过上述设置,您应该能够将Age创建为:

new Age(agetype: 'Teen').save(flush: true)

如果再次运行,将通过主键违规进行上述操作。

有关根据需要自定义iddocs的详细信息,请参阅column