我想在春天使用JpaRepository进行查询。我找不到路。
如果在原生查询中我需要类似
的内容select * from staff where (
name like '%param1%' OR
address like '%param1%' OR
staffNo like '%param1%')
order by name limit 10 offset 0
除了'like'函数之外,我已经成功将其转换为JpaRepository以获取限制和偏移量。我目前的代码:
List<Staff> findByIdNotNull(Pageable pageable);
如何在JpaRepo中插入'multiple like',我尝试使用包含但即使对于一列也可以使用
List<Staff> findByNameContaining(String name, Pageable pageable);
答案 0 :(得分:2)
你快到了。使用多个或类似的查询:
List<Staff> findByNameContainingOrAddressContainingOrStaffNoContaining(
String name, String address, int staffNo, Pageable pageable);
这样,OR
个查询的like
条件可以name
。确保您拥有名为address
,staffNo
和http://localhost:80/magento
的实体属性。
答案 1 :(得分:0)
您可以使用实体管理器
执行此操作Query query = em.createQuery("select s from staff s where (
s.name like :param1 OR
s.address like :param2 OR
s.staffNo like :param3 )
order by name limit 10 of`enter code here`fset 0");
query.setParameter("param1","%"+param1+"%");
query.setParameter("param2","%"+param2+"%");
query.setParameter("param3","%"+param3+"%");
List<staff> l=query.getResultList();
为表格提供别名。 使用setParameter(name,value)定义设置参数。 使用人员列表获取resultList。