通常,我嘗試以這種方式構建我的DAO類,以使它們完全依賴於自己。它們可以與多個表進行交互,但前提是數據與基礎對象相關。例如,假設我有一個約會對象,並且約會DAO從約會表中提取數據。如果約會表是一個服務id,它是一個將約會綁定到服務的外鍵,那麼讓我們說一列。服務表完全獨立於約會,並擁有自己的DAO,用戶可以在其中添加或刪除服務。DAO類應該依賴於其他的dao類嗎?
約會對象有一個服務字段,用於存儲服務對象。我這樣做是因爲在許多情況下,在處理約會時必須引用這個服務對象。
在約會DAO中,我可以編寫單獨的SQL語句以從其表中提取服務數據,並在約會DAO中重新映射所有這些,但所有這些都已在服務DAO中完成,並且將如調用serviceDao.find(serviceId)。我在約會DAO中引用了服務DAO,感覺有點骯髒。這是因爲我有設計問題還是可以做這種事情?我試過研究這個問題,結果是50/50。
有道理。我想有時候我們只是被設計主體卡住了,出於某種原因,我一直試圖保留按表組織的daos(或者多個表,如果其他表只由父級引用)。那麼,你的建議是使用連接嗎?還是要依靠其他的道?在我的情況下,對db的調用會返回一個serviceId,然後當我映射約會bean時,我會調用服務dao來獲取該對象的數據。 – ryandlf