エンティティを更新するための汎用コードを作成したいと考えています。これが私が思いついたものです:
def update(id, Object updatedEntity) {
def entity = findById(id)
if (entity) {
updatedEntity.id = id
def mergedEntity = updatedEntity.merge()
if (mergedEntity) {
return mergedEntity
} else {
throw new ValidationException("Cannot update.", mergedEntity.errors)
}
} else {
throw new IllegalArgumentException("No ${domainClass.getSimpleName()} with id=${id} found.")
}
}
なぜmergedEntity
常にid
値が増加するのですか (つまり、 if updatedEntity.id = 1
、 thenmergedEntity.id
は 2 になります。どうすれば修正できますか?