我在
github看了样品宠物诊所grails app.
它有一个创建PetclinicService的宠物服务,它有一个添加宠物的方法:
Pet createPet(String name,Date birthDate,long petTypeId,long ownerId) { def pet = new Pet(name: name,birthDate: birthDate,type: PetType.load(petTypeId),owner: Owner.load(ownerId)) pet.save() pet }
这是从控制器使用,如下所示:
def pet = petclinicService.createPet(params.pet?.name,params.pet?.birthDate,(params.pet?.type?.id ?: 0) as Long,(params.pet?.owner?.id ?: 0) as Long)
我很想知道这是否是保存grails内容的最好方法?使用这种方法,如果我向Pet域添加另一个字段,比如字符串颜色,那么我将不得不触摸三个类(Pet,PetController和PetclinicService)以使更改完成.