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

class Age {
    String agetype
    static constraints = {
    }

}

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

最佳答案

如果不需要默认的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

07-26 03:11