我将 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
答案 0 :(得分:0)
当属性的第二个字符为大写时,解析OrderBy子句时,这是一个错误。
您应该向Spring Data JPA提交错误报告:
https://jira.spring.io/projects/DATAJPA/issues/DATAJPA-1397?filter=allopenissues
与此同时,您必须更改属性名称或在@Query批注中编写查询。