Grails:如何为多列创建命名唯一约束?

时间:2012-08-17 16:30:58

标签: grails constraints gorm unique-constraint grails-domain-class

如何为多列创建命名唯一约束?

我有三个班级:

class Descriptor {
    // some columns
}

class Protein {
    // some columns
}

class DescriptorValue {
    // some columns
    static belongsTo = [protein: Protein, descriptor: Descriptor]
    static constraints = {
        protein(unique:['descriptor'])
    }
}

GORM使用自动生成的名称创建一个索引,该名称对于不同的环境是不同的。如何指定其名称?

2 个答案:

答案 0 :(得分:1)

尝试这样做:

static mapping = {
    protein unique:['descriptor'], index: 'protein_idx' //or whatever name you like
}

如果需要使用多列索引,则可以为每个属性指定相同的索引名称。

答案 1 :(得分:0)

String field1
String field2
Integer field3
SomeObject object

  static constraints = {
        object unique: ['field1','field2', 'field3']
    }