我有一个抽象的,非域类的Job:
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}
}
你能帮助我吗?
答案 0 :(得分:0)
这只是我的头脑,但是"属于"与关系数据库模型中的外键关系相比,它更多地与面向对象的子类/超类模型有关。
如果出于设计原因需要子类共享类似的类型,可以让它们实现类似" JobBehaviour"的接口。
很抱歉,如果这不是您的想法。
答案 1 :(得分:0)
在超类中使用它来生成不同的表:
static mapping = {
tablePerHierarchy false
}
现在您可以在子类中自由使用FK。