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

在Grails中,是否可以更改持久实体的子类型?,grails,discriminator,grails-2.0.4,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() 这将成功保存一

假设我有以下课程:

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

def fruit = FruitService.createFruit(params.type)
fruit.properties = params
fruit.save()
这将成功保存一个新的
Apple
实例


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

您能详细说明“其他关系”部分吗?如果将apple更新为橙色,是否也要更改与原始apple对象关联的关系?