我可以在最后的表达式中给出排序参数吗?因为我需要在 over() 函数中使用 sort 参数。
例子:
@Query(value = "...?2...over(?4)...?1...?3")
myMethod(int a,int b,int c,Sort sort);
或内部排序的表达式: ,--#sort\n , #{#sort} ..
我仍然得到:
java.lang.IllegalArgumentException:查询方法 public abstract java.lang.Integer ...name of method.. (int,int,int,org.springframework.data.domain.Sort) 时验证失败!
Sort
Spring Data JPA对类型的参数进行特殊处理。
即使情况并非如此,您尝试实现的目标也无法通过简单的绑定参数来完成,因为 SQL 允许在这些地方绑定参数。
根据您想要实现的目标,您可能可以执行以下操作:
@Query("select .... over(... order by CASE ?1 WHEN "first THEN first
WHEN 'last' THEN last
END")
public Something method(String columnNameForSorting)
假设您有列first
并且last
您想在排序之间切换。
Oracle DECODE 的标准 SQL 替代方案,了解有关 CASE 表达式的更多信息
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句