目前,我正计划重构一个使用spring+hibernate编写的旧代码库。
在dao层中,我看到了许多解决相同目的的方法。
例如,我有user_info表,在dao层中有很多类似以下的方法:
getUserInfoById(String userId);
getUserInfoByName(String name);
getUserInfoByIdAndName(String userId,String name)
还有很多其他的例子。
我知道这样做是非常不好的做法。
我想到了一种解决方案,比如我只有一个方法getUserInfo(User user),在这个方法中,我将封装查询构造,例如
query.with(user.username).with(user.userId)
...
我不知道这是否是正确的解决方案...
有什么建议吗?也欢迎提供解释这个概念的基础知识页面的链接。
Criteria
呢? - Scary Wombat