JpaSort.unsafe引发异常

时间:2018-09-23 11:40:08

标签: hibernate spring-boot spring-data

使用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!

2 个答案:

答案 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")