[英]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
关键字在User
和Tag
之间创建一种关系。 但是我对line number 2
( User user
有疑问。 现在将这段代码放在我的Tag
类中会以任何方式影响Tag
和User
之间的关系,或者仅仅是我们在belongsTo
关键字中提供的内容belongsTo
?
是否有任何工具可以可视化 Grails应用程序中任何类之间的关系?
通常会怀疑带有多个类的belongsTo
,因为这意味着实例将与其他几个域对象处于组合关系中。 以我的经验,这仅在您知道设置了另一个时将始终为null
时才有用(但仍然,您可能更愿意让TagUser
和TagPost
派生Tag
类)。 我建议您删除belongsTo
(可能是Post)之一。
在您的Post
和User
类中,您可能具有hasMany
关系。 这足以创造的关系,并没有添加 belongsTo
的Tag
。 使用belongsTo
的唯一好处是,更新或删除User
或Post
也将级联并保存Tags
。
如果您的Tag用例是常规用例(例如stackoverflow上的标记),则您尝试创建多对多关系(一个用户有很多标签,一个标记有很多用户。发布时也一样)。 您可以在多对多关系中使用belongsTo来指示谁拥有该关系。 阅读多对多文档,以了解这种关系如何工作。
关于您的最后一个问题,IntelliJ具有集成的域类依赖关系可视化功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.