嗯,在我的項目中有些東西讓我煩惱。我有很多很多的hibernate實體類,每個類都有自己的DAO(從GenericDAO繼承)。他們大多沒有特定的功能,只是一個繼承GenericDAO的空類。基於反射的基本通用DAO
因爲我認爲那些是不必要的類,所以我決定用反射消除它們。 一些編碼後,我對所有那些沒有特定的方法類的呼叫除了GenericDAO遵循這樣的設計:
DAO.forClass(MyClass.class, MyClassPK.class).genericDAOMethod();
它的工作原理就像一個魅力。我現在擺脫了空的DAO。但通過互聯網搜索後,我發現低至沒有像我的解決方案,所以問題是:
這種方法在任何可觀的方式是錯誤還是不好?爲什麼沒有人會考慮這樣做?
你能展示這是如何使用反射嗎?我想,僅僅提到一個班級並不足以稱此爲反思。我認爲你可以在調用端使用GenericDao,並在你的依賴注入系統中生成這些daos(假設你有一個)。 –
2014-10-31 20:10:00
我的GenericDAO使用Hibernate,所以我只需要實例化一個傳遞MyClass和MyClassPK的新GenericDAO。我在這種DAO中不使用CDI。換句話說,GenericDAO類聲明就像這樣:public class GenericDAO。 –
Dalton
2014-10-31 20:18:37