如何创建属于Grails中许多可能类之一的域类

时间:2014-03-18 18:14:18

标签: grails

我想创建一个Comment类,以允许我的用户为许多不同的东西添加注释。

class Comment {

    User author
    String text

    static belongsTo = [post:Post, user:User]

    static contraints= {
        post(nullable:true)
        user(nullable:true)
    }

}

当我尝试使用帖子而没有用户创建评论对象时,我得到错误"类[class Comment]的Property [user]不能为null"。

创建一个可以属于多个不同类之一的类的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

最佳解决方案是使用commentable等插件。

但是,如果您想要推出自己的解决方案,那么您需要了解制作BelongTo另一个对象使其成为必需的关系。因此它不能为空。删除所属并执行单向一对多关系。请参阅有关建模关系的Grails documentation