我正在尝试将下面的having子句转换为jpa规范,因为本地查询在这里不是一个选项。有可能吗?我做了一些工作,你可以看到下面,但不确定我是否在正确的轨道上。感谢所有的帮助。
SELECT
*
FROM location
HAVING (
3959 * acos (
cos ( radians(36.191577) )
* cos( radians( lat ) )
* cos( radians( lng ) - radians(44.009585) )
+ sin ( radians(36.191577) )
* sin( radians( lat ) )
)) < 10
Specification<HouseProperty> havingClause = new Specification<HouseProperty>() {
@Override
public Predicate toPredicate(Root<HouseProperty> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder cb) {
Join<Property, Location> propertyLocation = root.join("location", JoinType.INNER);
cb.function("cos", Double.class,
cb.function("radians", Double.class, propertyLocation.get("lat"))
) ;
return null;
}
};
}
暂无答案!
目前还没有任何答案,快来回答吧!