views:

271

answers:

1

Hi, There is domain class with natural key defined as below

class InterestGroup {
String intGrp
String name

static constraints = {
    intGrp(blank: false, maxSize: 4, unique: true)
    name(blank: false, minSize: 10, maxSize: 50)
}

static mapping = {
    id generator: "assigned", name: "intGrp", type: 'string'
}

String toString() { "${intGrp}"} 
}

I try to modify standard scaffolding to make possible changes of name field. In standard code there is save() method called and it checks all field, and of course record could not be updated because record with same key exists. When i just assign field value

interestGroupInstance.name = params?.name

name is updated but, not checked against domain class constaint. What is the best way to realize CRUD operation with natural keys based tables? Best regards Krzysiek

A: 

I don't think I'm understanding you. What are you trying to do? You are trying to update your group's name and it doesn't seem to make any validation?

The reference documentaion says: "The save method informs the persistence context that an instance should be saved or updated. The save method returns null if validation failed and the instance was not saved and the instance itself if successful.". So it should be calling validate methos when you call save methos on your domain class object.

Could you please post an example?

Alex Epelde