我有一个简单的JPA Repository,其中包含派生查询和本地查询。现在,我需要(或者至少想要)为给定的查询指定排序规则,例如:
就我而言,派生查询不支持排序规则。
当我尝试使用参数指定排序规则名称时,问题就出现了。如果使用硬编码的排序规则,则没有问题。
工作正常,但不太合适。
注意:在示例中,“hun”是具有hu_HU区域设置的自定义排序名称。
我认为问题出在参数替换上。是否有一种方法可以使用Spring Data JPA Query Methods之一指定给定查询的排序方式?如果没有,如何创建一个接受排序参数并转换为有效SQL查询的查询?
public interface UserRepository extends JpaRepository<User, Long> {
@Query(value = "select * from users u order by u.firstname collate :language", nativeQuery = true)
List<User> findAllUsersCollate(@Param("language") String language);
}
就我而言,派生查询不支持排序规则。
当我尝试使用参数指定排序规则名称时,问题就出现了。如果使用硬编码的排序规则,则没有问题。
@Query(value = "select * from users u order by u.firstname collate hun", nativeQuery = true)
工作正常,但不太合适。
注意:在示例中,“hun”是具有hu_HU区域设置的自定义排序名称。
我认为问题出在参数替换上。是否有一种方法可以使用Spring Data JPA Query Methods之一指定给定查询的排序方式?如果没有,如何创建一个接受排序参数并转换为有效SQL查询的查询?