【发布时间】:2016-12-13 13:59:55
【问题描述】:
我想通过登录搜索员工列表,我使用扩展JpaRepository的DAO接口:
public interface EmployeRepository extends JpaRepository<Employe, Long> {
@Query("select e from Employe e where e.login like :x")
public Page<Employe> employeeParLogin(@Param("x")String login, Pageable p);
}
在我的服务层,我调用这个方法
@Override
public Page<Employe> employeeParLogin(String login, Pageable p) {
// TODO Auto-generated method stub
return employeRepository.findByLogin("%"+login+"%", p);
}
当我用
测试它时Page<Employe> pe = employeMetier.employeeParLogin("fe",new PageRequest(0,2));
虽然我有一个员工的登录名包含fe,但它没有返回任何内容。
P.S.:只有在服务层的方法中去掉参数login的两个%,我写整个login才可以正常工作。
【问题讨论】:
-
您可以检查此Spring JPA @Query with LIKE,因为此 QA 提供了两种方法,您可以使用 CONCAT 函数,也可以使用 双管道
标签: java spring repository hql spring-data-jpa