我正在使用Hibernate,我遇到了HQL问题。我有经纬度的用户,我需要比较记录的用户和查询中的其他用户之间的距离并订购它。我需要做的是在查询中(userloged.latitude - user.latitude)^2 + (userloged.longitude - user.longitude)^2
。我有用户登录,我需要得到<离他最近的20。感谢。
public List<Usuarios> getAllUsuarios(String correito, String desea) {
// TODO Auto-generated method stub
this.session = sf.openSession();
Query query;
if(desea.equals("Ambos"))
query = session.createQuery("FROM Usuarios WHERE correo != '" + correito + "' ORDER BY ");
else
{
if(desea.equals("Hombres"))
desea = "Hombre";
else if(desea.equals("Mujeres"))
desea = "Mujer";
query = session.createQuery("FROM Usuarios WHERE correo != '" + correito + "' AND genero = '" + desea + "'");
}
query.setMaxResults(MAX);
List<Usuarios> usuarios = (List<Usuarios>) query.list();
session.close();
return usuarios;
}