用 Gorm 扁平化对象模型?

发布于 2024-10-23 00:55:57 字数 277 浏览 4 评论 0原文

有没有一种方法可以轻松地将对象压平到 Gorm 中的一张桌子上?我有几个概念实体总是需要连接到它们的父类。也就是说,我有这个:

class A{
   B other;
   String name;
   String value;
}

class B{
   String val1;
   String val2;
}

有没有办法对此进行注释,以便 val1val2 只出现在表 A 中?

Is there a way I can easily flatten an object to one table in Gorm? I have several conceptual entities which always need to be joined to their parent class. That is, I have this:

class A{
   B other;
   String name;
   String value;
}

class B{
   String val1;
   String val2;
}

Is there a way to annotate this so that val1 and val2 appear exclusively in table A?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

七堇年 2024-10-30 00:55:57

other 添加到类 A 中的嵌入列表:

class A{
   B other;
   String name;
   String value;

   static embedded = ['other']
}

请参阅第 5.2.2 节,GORM 中的组合:http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational %20Mapping%20%28GORM%29.html

Add other to the embedded list in class A:

class A{
   B other;
   String name;
   String value;

   static embedded = ['other']
}

See section 5.2.2, Composition in GORM: http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20%28GORM%29.html

二智少女猫性小仙女 2024-10-30 00:55:57

标记嵌入静态属性的字段 other

class A {
    B other
    String name
    String value
    static embedded = ['other']
}

自动生成的架构将在“A”的表中包含两个名为 other_val1other_val2 的字段。

如果您希望 B 对象仅存储为 A 对象的一部分,请将 B.groovy 从 grails-app/domain 移动到 >src/groovy

Mark the field other embedded with a static property:

class A {
    B other
    String name
    String value
    static embedded = ['other']
}

The autogenerated schema will then contain two fields called other_val1 and other_val2 in the table for `A'.

If you want B objects to only be stored as part of an A object, move B.groovy from grails-app/domain to src/groovy

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文