从其基本类型创建超级对象 (Grails)
Creating a Super Object from its base type (Grails)
我有 2 个域 类。其中一个是用户,另一个是超级用户。超级用户包含一些额外的字段,SuperUser 继承自User。 (另请注意:用户已将 inheritTableHeirachy
设置为 false 的映射)。
如何将现有的用户实例对象转换为超级用户?有没有办法可以在 SuperUser 构造函数中传递它?
我想保留对原始用户的引用,我想将 SuperUser 的额外属性添加到 SuperUser table。
有办法通过属性。您可能想在之后根除 ID 或之前已经过滤掉您不需要的东西(这是一张地图)。例如
new SuperUser(theUser.properties)
因为这只有 "copies" 相同的 属性 名称,所以没有防止设置 "stupid" 的东西。两个对象不必具有相同的 class 层次结构等。它只是为带有地图的地图调用 c'tor。
一种更结构化的方法是为这种情况引入适配器。
我有 2 个域 类。其中一个是用户,另一个是超级用户。超级用户包含一些额外的字段,SuperUser 继承自User。 (另请注意:用户已将 inheritTableHeirachy
设置为 false 的映射)。
如何将现有的用户实例对象转换为超级用户?有没有办法可以在 SuperUser 构造函数中传递它?
我想保留对原始用户的引用,我想将 SuperUser 的额外属性添加到 SuperUser table。
有办法通过属性。您可能想在之后根除 ID 或之前已经过滤掉您不需要的东西(这是一张地图)。例如
new SuperUser(theUser.properties)
因为这只有 "copies" 相同的 属性 名称,所以没有防止设置 "stupid" 的东西。两个对象不必具有相同的 class 层次结构等。它只是为带有地图的地图调用 c'tor。
一种更结构化的方法是为这种情况引入适配器。