存储库
@Repository
public interface UserRepository extends JpaRepository<SalutationMst, Long> {
@Query("select id from SalutationMst where name=:name and code=:code and id=:id")
Optional<Long> findByAny(String name,String code,Long id);
}
是否可以通过在name,code,id中查找值来从此处添加条件。该存储库正在从控制器中调用。
答案 0 :(得分:0)
尝试这个
@Query("select e.id from SalutationMst e where e.name=:name and e.code=:code and e.id=:id")
Optional<Long> findByAny(@Param("name")String name,@Param("code")String code,@Param("id")Long id);
另一种方式:
@Query("select e.id from SalutationMst e where e.name=?1 and e.code=?2 and e.id=?3")
Optional<Long> findByAny(String name,String code,Long id);
无需删除参数,只需传递“ Null”值
select e.id from SalutationMst e where (e.name=?1 or ?1 is null) and e.code=?2 and e.id=?3
答案 1 :(得分:0)
在这种情况下,我将使用规范check this 您可以在此处动态形成谓词。
如果这看起来有点复杂,则可以使用示例查询check this 默认情况下,它将忽略空字段。