2012-05-15 116 views
0

我有一個域類供應商 -Grails的檢查唯一約束

class Supplier { 

    static embedded=['address'] 
    static constraints = { 
     vendorName(blank:false,nullable:false,maxSize:50) 
     address(blank:false,nullable:false,unique:true) 
     contactPerson(blank:false,nullable:false,maxSize:50) 

    } 
    String vendorName 
    Address address 
    String contactPerson 
} 

和地址類: -

class Address { 
    String street 
    String area 

    static constraints = { 
     street(blank:false,nullable:false) 
     area(blank:false,nullable:false) 
    } 

} 

我的要求是,以檢查街道的供應商的唯一性。當用戶從供應商視圖進入街道和區域時,我必須檢查供應商的街道應該是唯一的。

thnks

+0

你檢查街道的供應商對供應商的獨特性,或街道?你能提供供應商類嗎? – Igor

+0

供應商名稱是供應商中的字符串,但Address是一個類。我必須檢查供應商他們可以是一個或多個街道,但對於一條街道,他們只有一個供應商。 –

+0

從它的跟隨,你的街道必須是地址PK。只需在供應商中提供唯一地址。 –

回答

0

既然你只有每個供應商街一個地址已經是每個供應商是唯一的。如果您的地址不能超過1個,則不能有重複的街道。

1

這將是這樣的,如果只有街道應該是唯一的

class Address { 
    String street 
    String area 

    static constraints = { 
     street(blank:false,nullable:false) 
     area(blank:false,nullable:false) 
    } 
    static mapping = { 
     street(index: true, indexAttributes: [unique: true]) 
    } 

}