【发布时间】:2013-02-05 04:46:05
【问题描述】:
我需要有关从 sql 到 Hibernate 的代码的帮助,希望您能帮助我完成这项工作...
SELECT x(coordenadas) as latitud, y(coordenadas) as longitud FROM datos;
我是这个页面的新用户:-(
我有两个名为 datos 和 dispositivo 的表,我正在使用 Netbeans 的 hibernate 来获取名为 datos 的表的寄存器,但问题是我不知道如何转换这句话。因为我的表包含一个名为“coordenadas”的类型数据“几何属性函数”的寄存器。 GeomFromText(“点(18.30 -99)”)。我需要在列表中将该表的寄存器作为纬度和经度。请帮助我:(。对不起我的英语,我正在学习。
我有一张表,上面有这些寄存器 datos、fecha、dirLat、dirLong、Latitud、Longitud、altura,我用这种方法获取寄存器...
package Modelo;
import com.conf.hibernate.HibernateUtil;
import com.hibernate.Datos;
import java.util.List;
import org.hibernate.Session;
public class FuncionesHibernate {
public List<Datos> Tabla_Datos(){
Session s = HibernateUtil.getSessionFactory().getCurrentSession();
s.beginTransaction();
List<Datos> lista = (List<Datos>)s.createQuery("From Datos").list();
s.getTransaction().commit();
return lista;
}
}
然后使用来自 Servlet 的这段代码,我得到了纬度和经度...
FuncionesHibernate funcionesHibernate = new FuncionesHibernate();
List<Datos> lista = funcionesHibernate.Tabla_Datos();
for(Datos d : lista){
latitud=d.getLatitud();
longitud=d.getLongitud();
}
问题是表已更新,包含纬度和经度的寄存器更改为coordenadas 几何。那么现在我需要在 mySql 的控制台中为这种新方式插入寄存器。
insert into datos values(1,1,"2013-02-02","14:00:00",GeomFromText("Point(18.30 -99)"),20);
现在我的名为“FuncionesHibernate”的方法无法正常工作。
'coordenadas' 寄存器没有其他方法可以使用新表吗? Hibernate 的新查询是什么?
对于这个 razon,我需要将此查询转换为查询 Hibernate..
SELECT x(coordenadas) as latitud, y(coordenadas) as longitud FROM datos;
【问题讨论】:
-
详细描述你的问题尝试把你的pojo的代码。以及您尝试了什么以及您正在寻找的预期结果是什么
-
我有两个名为 datos 和 dispositivo 的表,我正在使用 Netbeans 的 hibernate 来获取名为 datos 的表的寄存器,但问题是我不知道如何转换这句话。因为我的表包含一个名为“coordenadas”的类型数据“几何属性函数”的寄存器。 GeomFromText(“点(18.30 -99)”)。我需要在列表中将该表的寄存器作为纬度和经度。请帮助我:(。对不起我的英语,我正在学习。
-
您可以借助 pojo 的属性编写 hql。但我仍然不清楚你是想根据你的 pojos 属性编写查询还是要调用数据库的函数。
-
好的,现在我得到您的问题,您想将属性设置为数据库函数的输出。 coordenadas 将由名为 GeomFromText 的函数调用的输出初始化,该函数调用接受两个输入。嗯,让我想为您准备解决方案。
-
Body 非常感谢,但是您转换的查询不正确...这是我需要在列表中转换为 Hibernate 的查询... SELECT x(coordenadas) as latitud, y(coordenadas)作为 datos 的经度;