【发布时间】:2010-03-16 10:53:11
【问题描述】:
我的数据库结构如下:
表 STUDENT(比如身份证、姓氏等)
表 STUDENT_PROPERTIES(例如,name_of_the_property:char、value_of_the_property:char、student_id:FK)
表 COURSE (id, name, statusofcourse_id)
表 STATUSOFSOMETHING (id, name_of_status:char ('active','inactive','suspended' etc))
表 STUDENT_COURSE (student_id,course_id,statusofsomething_id)
让我们尝试在我的数据库中提取域对象:
Student 和 Course 是主要实体。 学生有一个他参加的课程列表,他也有一个属性列表,这就是这个学生的全部内容。
接下来,课程实体。它可能包含参加它的学生列表。
但其实整个结构是这样的:起点是Student,后面是PK 我们可以查看他的属性列表, 然后我们查看 STUDENT_COURSE 并提取课程实体的 FK 和状态 的组合,它看起来像“名为 bla bla 的学生,具有他的所有属性, 参加数学,其状态为“活动”。
现在,报价
1) 每个 DAO 实例负责一个主要的域对象或实体。如果域对象有独立的生命周期,它应该有自己的 DAO。
2) DAO 负责对域对象进行创建、读取(按主键)、更新和删除(即 CRUD)。
现在,第一个问题是 就我而言,什么是实体? Student、Course、Student_Course、Status = 除 StudentProperties 之外的所有内容? 我是否必须为每个对象创建单独的 DAO?
【问题讨论】: