使用Spring Boot和Spring Data。
使用JpaSort.unsafe
但得到异常。
这是一个已知的Spring问题吗? Hibernate / JPA问题?
谢谢。
行家:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
</parent>
实体:
public class Simple {
@Id
private Long id;
private String firstName;
...
}
存储库方法:
public List<Simple> findAll(Sort sort);
SpringTestClass:
list = simpleRepository.findAll(JpaSort.unsafe("LENGTH(firstName)"));
assertEquals("firstName", list.get(0).getFirstName());
例外:
org.springframework.data.mapping.PropertyReferenceException: No property LENGTH(firstName) found for type Simple!
答案 0 :(得分:1)
这里的帖子说,您必须在要传递的字符串周围加上括号。也许它在这里适用。
How to sort projection by alias from SELECT clause in Spring Data JPA with pagination?
答案 1 :(得分:0)
就我而言,向存储库类方法添加@Query
可以解决此问题。我不明白为什么。您可以尝试是否有帮助
@Query("SELECT s FROM Simple s")