繁体   English   中英

字段属性如何影响Grails中的域建模?

[英]How Domain Modeling In Grails Affected By The Field Attributes?

可以说,我的Grails应用程序中有一个名为Tag的域类。

class Tag {
    String name // line number 1
    User user  // Line number 2
        static constraints = {
        }
    static belongsTo = [User, Post]
}

我正在借助belongsTo关键字在UserTag之间创建一种关系。 但是我对line number 2User user有疑问。 现在将这段代码放在我的Tag类中会以任何方式影响TagUser之间的关系,或者仅仅是我们在belongsTo关键字中提供的内容belongsTo

是否有任何工具可以可视化 Grails应用程序中任何类之间的关系?

通常会怀疑带有多个类的belongsTo ,因为这意味着实例将与其他几个域对象处于组合关系中。 以我的经验,这仅在您知道设置了另一个时将始终为null时才有用(但仍然,您可能更愿意让TagUserTagPost派生Tag类)。 我建议您删除belongsTo (可能是Post)之一。

在您的PostUser类中,您可能具有hasMany关系。 这足以创造的关系,并没有添加 belongsToTag 使用belongsTo的唯一好处是,更新或删除UserPost也将级联并保存Tags

如果您的Tag用例是常规用例(例如stackoverflow上的标记),则您尝试创建多对多关系(一个用户有很多标签,一个标记有很多用户。发布时也一样)。 您可以在多对多关系中使用belongsTo来指示谁拥有该关系。 阅读多对多文档,以了解这种关系如何工作。

关于您的最后一个问题,IntelliJ具有集成的域类依赖关系可视化功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM