【发布时间】:2015-09-21 10:40:41
【问题描述】:
有两种类似的方法:
Collection<Movie> findAll(UserDetails userDetails); //find all movies rated by User
Collection<Movie> findAll(UserDetails userDetails, String s); //find all movies rated by User and containing "s" in title
所以,第二个是第一个 + 正则表达式。 JPQL代码分别:
select movie........ //doesn't mater
//the same logic
和
select movie........ where lower(movie.title) like :s
//the same logic
所有的区别只是一行代码,但它迫使我在这两种方法中重复代码。在这种情况下如何避免代码重复?
我想实现一个私有方法来接收来自这两者的查询并处理“相同的逻辑”。这是好方法吗?
【问题讨论】: