Java Hibernate-注入MySql函数
可以使用Hibernate(最好是CriteriaAPI)使用mySql函数进行排序 我希望使用的功能是:-Java Hibernate-注入MySql函数,java,mysql,hibernate,Java,Mysql,Hibernate,可以使用Hibernate(最好是CriteriaAPI)使用mySql函数进行排序 我希望使用的功能是:- SQRT( POW( 69.1 * ( {alias}.latitude - 51.3814282 ) , 2 ) + POW( 69.1 * ( -2.3574537 - {alias}.longitude ) * COS( {alias}.latitude / 57.3 ) , 2 ) ) {alias}的根所在位置 criteria.createCriteria("loc
SQRT( POW( 69.1 * ( {alias}.latitude - 51.3814282 ) , 2 ) + POW( 69.1 * ( -2.3574537 - {alias}.longitude ) * COS( {alias}.latitude / 57.3 ) , 2 ) )
{alias}的根所在位置
criteria.createCriteria("location.address");
我所要做的就是按照上面的距离方程对结果进行排序,但到目前为止,我还没有找到使用投影选项或顺序的方法。选择和我的想法
干杯,
R这并不能完全回答您的问题,但是您从Criteria API中得到的是一堆很好的对象,这些对象遵循它们的接口。您是否考虑过将排序从查询中取消,而改为在内存中排序?用比较器表示排序函数应该很容易,然后就可以对集合进行排序了 我不知道如何在CriteriaAPI的
.addOrder
函数中表达它。您可以将任意SQL添加到限制中,但看起来无法按任意SQL排序
祝你好运。这并不能完全回答你的问题,但是你从Criteria API中得到的是一堆很好的对象,它们都遵循它们的接口。您是否考虑过将排序从查询中取消,而改为在内存中排序?用比较器表示排序函数应该很容易,然后就可以对集合进行排序了 我不知道如何在CriteriaAPI的
.addOrder
函数中表达它。您可以将任意SQL添加到限制中,但看起来无法按任意SQL排序
祝你好运。蒂姆干杯,这不完全是我想要的,但它确实很管用。随着数据集的增长,我对性能有点担心,但现在在内存中排序就可以了:)提姆,这并不完全是我想要的,但它确实起到了作用。随着数据集的增长,我对性能有点担心,但现在在内存中排序就可以了:)