我是新用来查询dsl.Im使用Spring存储库来获取结果集。有一种情况我必须得到一个列的最大值并将字段输入到一个实体。我的谓词代码如下。我得到错误一次我运行此代码。
public static Predicate getMaximum(){
QUserDetails details = QUserDetails.userDetails;
return details.id.eq(details.id.max());
}
这就是我使用spring jpa
获取结果集的方法public UserDetails findByCustomerId(Predicate predicate);
org.springframework.data.mapping.PropertyReferenceException:找不到类型为com.example.entity.UserDetails的属性find。任何人都可以帮我实现我想要的东西。
答案 0 :(得分:2)
您必须定义QueryDslJpaRepository
,为QueryDslPredicateExecutor添加实现
您可以在此处查看教程:
答案 1 :(得分:0)
从QueryDSL email group,显然你要做的就是选择最大ID:
from(entity).singleResult(entity.id.max())
所以它是
JPAQuery jpaQuery = new JPAQuery(entityManager);
QEntity qEntity = QEntity.entity;
Long maxId = query.from(qEntity).singleResult(qEntity.id.max());