Re: [問題] 表達物件之間關係的資料如何儲存?

看板java作者 (銘)時間10年前發表 (2014/11/14 07:57), 10年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
假設: 20名老師:T01, T02, ... , T20 8間教室:C01, C02, ... , C08 1. Teacher.java int id; String teacherName; 2. ClassRoom.java int id; String roomName; 3. TCRelt.java (Teacher_ClassRoom_Relation 的縮寫) int id; int teacher_id; int room_id; 然後寫 method public List<ClassRoom> findClassRoomByTeacher(Teacher teacher){}; public List<Teacher> findTeacherByClassRoom(ClassRoom){}; 多對多的問題先簡化成一對多,然後再求解,比較好思考。 不知道有沒有回覆到你的問題。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.73.121 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1415951865.A.85D.html method 回傳值不一定要是 List<T>, 完全看你自己想要回傳什麼。 我僅僅是舉例用 List<T> 回傳。 ※ 編輯: justin761002 (60.250.73.121), 11/14/2014 16:06:32

11/15 21:56, , 1F
請問TCRelt.java為什麼不直接reference到老師和班級呢?
11/15 21:56, 1F
也是可以,EX1、EX2 擇一,但是非常不建議! EX1 Teacher.java int id; String teacherName; Array[] classRoom; EX2 ClassRoom int id; String roomName; Array[] teachers; 不建議的理由: 一、Array[] 的內容長度不一,查詢的效率差。 二、以 EX1 為例: 假設教室C01因為某些原因消失了(也許被隕石打中之類的...) 除了要把 ClassRoom 的 C01 資料刪除以外, 還要檢查每一筆 Teacher.classRoom 的資料有沒有 C01 , 然後將之移除,再更新 Teacher 的資料,新增、刪除、修改皆如此, 非常浪費時間。 ※ 編輯: justin761002 (114.45.31.43), 11/16/2014 03:13:37
文章代碼(AID): #1KPRNvXT (java)
文章代碼(AID): #1KPRNvXT (java)