目前我正计划重构一个用
spring
spring写的旧代码库.
我在dao层看到了很多方法,它们解决了同样的目的.
例如,我有user_info表
在dao-layer中有很多方法
getUserInfoById(String userId);
getUserInfoByName(String name);
getUserInfoByIdAndName(String userId,String name)
而这样的例子不胜枚举.
我知道这是非常糟糕的做法.
我认为像我这样的解决方案只有一个方法getUserInfo(用户用户)
在这个方法里面我将封装查询结构
query.with(user.username).with(user.userId)…
我不知道是不是正确的解决方案……
有什么建议?任何从非常基本的东西解释这个概念的页面的链接也是值得赞赏的.
最佳答案 经过激烈的浏览,我发现spring-jpa集成
here
我唯一创建的是每个实体的接口. spring本身处理DAO层的创建并处理该实体上的所有操作,并且还支持批量操作.我们可以在该接口中添加我们的自定义方法spring jpa将实现这些方法.不需要编写任何与DAO层相关的代码.
示例示例:
@Repository
public interface UserRepository extends PagingAndSortingRepository<UserCore, Serializable>, JpaSpecificationExecutor<UserCore> {
}
我们也可以从DAO方法返回java流,如here所述
它也有规范支持,类似于hibernate中的条件.