java Asc/Desc排序顺序作为Sping Boot 和Hibernate应用程序中原生查询的参数与SQL Server

xjreopfe  于 2023-10-14  发布在  Java
关注(0)|答案(1)|浏览(101)

我有Sping Boot 、Hibernate和SQL Server。
我们使用原生查询,它们非常大,所以我不能用JPQL或HQL重写它,我需要以某种方式使排序顺序动态化,我有类似的查询:

select * from (select 1 as id, 'Max' as name
union 
select 2 as id, 'Mike' as name) as a
order by a.id :sortOrder

:sort命令休眠更改为?所以我得到的是“通过a.id”
:sortOrder应该是ask或desc,但我得到一个错误:
com.microsoft.sqlserver.jdbc.SQLServerException:“@P1”附近的语法不正确
如何使排序顺序是动态的?

syqv5f0l

syqv5f0l1#

我不认为这是可能的原生查询,你可以使用JPA无论如何,但如果你真的想使用原生查询?使用不同的方法,一种用于ASC,一种用于DESC,并硬编码sortOrder

相关问题