2012-06-20 93 views
2

我有一個struts項目和我的客戶給我完整的業務邏輯classes.He需要struts和休眠的ingrate。Dao層和業務邏輯與struts和休眠

哪個最好, 把業務邏輯放到我的Dao層,需要爲業務邏輯添加一個附加服務層。

一些struts項目我發現動作類直接訪問Dao。

請給我建議哪個更好的選擇。幫助非常感謝。

感謝,

+0

業務邏輯應該進入服務層,或者struts控制器。不在DAO – Subin

+0

建議你添加一個業務邏輯層,DAO只是響應DB訪問。 – user1335794

+0

創建一個服務層,並把你的業務邏輯there.let struts2動作談話與服務層和服務層與DAO.may是你可以添加外觀,使其更加細化 –

回答

2

我的建議是保持Dao清潔您的業務邏輯,但是所有數據庫相關的邏輯和定製都應該像DAO層一樣在所有休眠邏輯中寫入,將結果轉換爲您的類等等。(正如您使用Hibernate一樣)應該寫在DAO中。

整個迭代,設置/獲取,結果定製,準備,請求改進作爲hibernate查詢的參數應該寫在服務層。

另一層Controller應該在服務層上工作,它將接收請求並調用相應的服務方法並提供生成的響應。

2

我會強烈建議你的業務邏輯寫入到服務層,使您的DAO層只包含數據庫的交互,並可以在任何時間點是可重複使用的。

此外,我會建議你添加一個表示層(所有實體與普通值),將通過UI層訪問。

0

讓Hibernate成爲您的DAO層,並在包含業務規則的層上編寫服務層。這兩者一起構成了MVC的模型部分。 Struts動作是MVC的控制器部分。