我有DB結構如下:ORM模型和DAO在我的具體情況
表STUDENT(比如ID,姓等)
表STUDENT_PROPERTIES(比如,name_of_the_property:焦炭,value_of_the_property:焦炭,student_id數據:FK)
表課程(ID,名稱statusofcourse_id)
表STATUSOFSOMETHING(ID,name_of_status:字符( '有效', '無效', '暫停' 等))
表STUDENT_COURSE(student_id數據,COURSE_ID,statusofsomething_id)
讓我們試着拿起域對象在我的數據庫:
學生和課程的主要實體。 學生有他參加的課程列表,他也有一個屬性列表,這是所有這個學生。
接下來,課程實體。它可能包含一個參加它的學生名單。
但事實上,整個結構是這樣的:出發點是學生,與它的PK 我們可以看看他的屬性的列表, 接下來我們來看看進入STUDENT_COURSE並提取課程實體的兩個FK和還結合的狀態 ,它看起來像「學生名爲BLA BLA,與他的所有屬性, 參加數學和它的狀態是‘有效’。
現在,報價
1)每個DAO實例負責一個主域對象或實體,如果域對象具有獨立的生命週期,它應該有它自己的DAO。
2)DAO負責創建,讀取(通過主鍵),更新和刪除 - 即CRUD - 在域對象上。
現在,第一個問題是 我的情況是什麼實體? 學生,課程,學生課程,狀態=除StudentProperties之外的所有課程? 我是否必須爲每個對象創建一個單獨的DAO?
@詹姆斯古德溫也許,但它是確定這不僅有student_id數據和COURSE_ID,而且第三場,STATUS_ID那在表中定義一行?事實上,該狀態字段不屬於課程,它完全獨立存在。只有它在STUDENT_COURSE中的價值纔有意義。 – EugeneP