我有一个关于以下域类验证的域类设计问题:
Class Course {
String name // computers,maths,economics,zoology etc...
}
class Component{
String name //ex: C1,C2,C3
boolean type // 0 means internal , 1 means external
}
Class CourseComponent{
Course course
Component component
Integer MaxMarks
...
}
客户端要求是为特定CourseComponent
创建Course
时..总maxMarks
应该等于100。所以
例如:对于数学课程,组件分发如
1.Maths C1 15
2.Maths C2 15
3.Maths C3 70
总分应该等于100.
我如何编写检查多条记录的约束或如何更改域类?
答案 0 :(得分:0)
如果我正确理解了要求,那么CourseComponent应该拥有Component的集合。 在这种情况下,我不会将maxMarks属性添加到CourseComponent类,因为它可以通过访问器方法轻松计算并可用。因此,我将此属性移动到Component类,以存储给定Course(或CourseComponent)的单个Component的编号。 接下来,我将在将Component实例添加到CourseComponent时对总maxMarks添加验证。 但另一个问题是你真的需要一个CourseComponent类吗? 您可能有一个Course类,它将相关的Component实例保存为集合属性。