将spring-data-jpa升级到1.11.13.RELEASE命令抛出异常

时间:2018-08-14 09:27:10

标签: java spring-data-jpa

我将 spring-data-jpa升级到1.11.13.RELEASE ,因为该提交:https://github.com/spring-projects/spring-data-commons/commit/5f87c6766863072d761cb02f278b13c8631e655f

此方法:

List<AppVersion> findByDeviceAndPlatformAndIVersionGreaterThanOrderByIVersionDesc(Device device,App app,Integer versioncode);

订购者找不到该属性,这是该属性:

private Integer iVersion;

引发此异常:

Caused by: java.lang.IllegalArgumentException:
 Unable to locate Attribute  with the the given name [IVersion] on this
 ManagedType [cn.com.open.entity.BaseEntityRoot]    at
 org.hibernate.metamodel.internal.AbstractManagedType.checkNotNull(AbstractManageType.java:128)
    at
 org.hibernate.metamodel.internal.AbstractManagedType.getAttribute(AbstractManagedType.java:113)
    at
 org.hibernate.metamodel.internal.AbstractManagedType.getAttribute(AbstractManagedType.java:111)
    at
 org.hibernate.metamodel.internal.AbstractManagedType.getAttribute(AbstractManagedType.java:111)
    at
 org.springframework.data.jpa.repository.query.QueryUtils.toExpressionRecursively(QueryUtils.java:571)
    at
 org.springframework.data.jpa.repository.query.QueryUtils.toJpaOrder(QueryUtils.java:548)
    at
 org.springframework.data.jpa.repository.query.QueryUtils.toOrders(QueryUtils.java:501)
    at
 org.springframework.data.jpa.repository.query.JpaQueryCreator.complete(JpaQueryCreator.java:195)
    at
 org.springframework.data.jpa.repository.query.JpaQueryCreator.complete(JpaQueryCreator.java:143)
    at
 org.springframework.data.jpa.repository.query.JpaQueryCreator.complete(JpaQueryCreator.java:52)
    at
 org.springframework.data.repository.query.parser.AbstractQueryCreator.createQuery(AbstractQueryCreator.java:88)
    at
 org.springframework.data.repository.query.parser.AbstractQueryCreator.createQuery(AbstractQueryCreator.java:73)
    at
 org.springframework.data.jpa.repository.query.PartTreeJpaQuery$QueryPreparer.<init>(PartTreeJpaQuery.java:133)
    at
 org.springframework.data.jpa.repository.query.PartTreeJpaQuery.<init>(PartTreeJpaQuery.java:72)
    ... 52 common frames omitted

1 个答案:

答案 0 :(得分:0)

当属性的第二个字符为大写时,解析OrderBy子句时,这是一个错误。

您应该向Spring Data JPA提交错误报告:

https://jira.spring.io/projects/DATAJPA/issues/DATAJPA-1397?filter=allopenissues

与此同时,您必须更改属性名称或在@Query批注中编写查询。