我總是面臨一個問題,我無法真正想到封裝許多DAO方法的服務對象。DAO和服務?
我的意思是說,對於我的servlet有時使用單個DAO方法就足夠了,例如addUser(User params)。
什麼是更好的做法 - 用服務對象封裝DAO方法並僅使用服務對象總是,即使它的字面意思是單一服務方法調用單一的dao方法或將它們的使用混合在一起(某些服務對象和某些方法從servlet上下文中的dao) - 這意味着我在控制器內部有自動裝配的DAO和服務對象?
如果我開始在同一地點同時使用DAO和Service對象,它會混合邏輯嗎?
你是什麼意思,如果它是假的?我雖然這應該是怎麼回事? DAO必須儘可能簡單和虛擬?如果您製作複雜的DAO,那可能是您已經混淆了業務邏輯? – Aubergine
如果您有一個簡單地調用EntityManager的方法的DAO,那麼爲什麼您需要DAO?爲什麼不直接使用EntityManager?我會使用一個DAO,例如,如果我想使用標準API來構建一個查詢,這可能需要很多行,而且我不想混入我的業務邏輯。 –
我感覺我在談論不同的事情,我正在考慮一個案例:我們有DAO有一些訪問數據庫的方法。我們有服務對象單一方法,它只使用單個方法從這個DAO執行它的工作。當我們可以直接使用DAO方法時,在僅使用單個DAO方法的服務對象中創建單個方法是否可行?你會談論同樣的事情嗎?我有很多'EntityManager'方法。 – Aubergine