Grails 属于任一类

标签 grails

我有一个抽象的非域类作业:

abstract class Job {
    String jobId
    String jobName
    String jobNotes
}

然后我有这两个域类Task和Habit,它们都继承了Job类:
class Task extends Job{
    Date deadline
    int completionTime
}

class Habit extends Job{
    Date rangeStart
    Date rangeEnd
}

现在,任务和习惯都拥有一个或多个子任务。现在我的问题是我希望 SubTasks 属于 Task 或 Habit,它们都是 Job 的子类。我试过这样做,但没有奏效:
class SubTask {
    static belongsTo = {motherJob : Job}
}

你能帮助我吗?

最佳答案

这只是我的想法,但“belongsTo”与关系数据库模型中的外键关系有关,而不是与面向对象的子类/父类(super class)模型有关。

如果出于设计原因需要子类共享相似的类型,则可以让它们实现类似“JobBehaviour”的接口(interface)。

抱歉,如果这不是您的想法。

关于Grails 属于任一类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29760386/

相关文章:

hibernate - Grails:Author.withTransaction {}和Book.withTransaction {}之间的区别(如果Author和Book均应保存在该事务中)

ajax - 如何发送ajax请求来检查 session 超时并在grails中呈现重新登录消息?

grails - GORM:在保留id getter的同时实现uuid getter

forms - 如何从 HTML 表单调用 RESTful 服务?

grails - 如何在Grails 2.3.2中访问BuildConfig中的配置属性

grails - Grails War在版本3.1中产生JAR文件

grails - 来自src/java的Grails 2.x类未在插件中解析

grails - grails 中 CONTENT i18n 的良好实践有哪些

grails - grails如何创建单元测试

grails - Grails注销按钮不起作用