在Grails中,是否可以更改持久实体的子类型?

时间:2012-12-11 03:28:27

标签: grails discriminator grails-2.0.4

说我有以下课程:

class Fruit { ... }
class Apple extends Fruit { ... }
class Orange extends Fruit { ... }

假设用户想要创建新的Apple。他们从下拉列表中选择一个类型,我使用服务将类型字符串转换为具体类型:

def fruit = FruitService.createFruit(params.type)
fruit.properties = params
fruit.save()

这将成功保存新的Apple实例。

现在让我们说用户意识到他们犯了一个错误,他们想要创建一个Orange。在编辑视图中,我为用户提供了将类型更改为Orange的功能,但我如何更新现有的Apple实例,使其现在成为Orange {1}}?由于其他关系,我不能简单地删除Orange并创建新的Apple实例。这甚至可能吗?

0 个答案:

没有答案