Java 休眠选择错误的表名
我试图通过Hibernate在mysql数据库中插入和选择数据,插入对我来说很好,但是选择不映射正确的表名,并且没有返回结果 获取并插入代码:Java 休眠选择错误的表名,java,sql,hibernate,Java,Sql,Hibernate,我试图通过Hibernate在mysql数据库中插入和选择数据,插入对我来说很好,但是选择不映射正确的表名,并且没有返回结果 获取并插入代码: SessionFactory sessFact = HibernateUtil.getSessionFactory(); Session session = sessFact.getCurrentSession(); session.beginTransaction(); session.save(obj); s
SessionFactory sessFact = HibernateUtil.getSessionFactory();
Session session = sessFact.getCurrentSession();
session.beginTransaction();
session.save(obj);
session.getTransaction().commit();
try {
Session mysession = HibernateUtil.getSessionFactory().getCurrentSession();
mysession.beginTransaction();
weatherDataObject resultObjectHib = (weatherDataObject) mysession.get(weatherDataObject.class, 26);
mysession.getTransaction().commit();
} catch (Exception e) {
e.printStackTrace();
}
sessFact.close();
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="some.pack">
<class name="weatherCoordinates" table="coordinates">
<id name="dataBaseId" column="coordinates_id">
<generator class="native" />
</id>
<property name="lat" type="string" column="coordinates_lat" />
<property name="lon" type="string" column="coordinates_lon" />
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="some.pack">
<class name="weatherDataObject" table="data_object">
<id name="id" column="data_object_id">
<generator class="native" />
</id>
<property name="name" type="string" column="data_object_name" />
<many-to-one name="coord" class="task.main.DataObjects.weatherCoordinates"
column="coordinates_id" unique="true" not-null="true" cascade="all" />
</class>
</hibernate-mapping>
问题是
weatherdat0
不知何故是错误的,我在文件数据对象中映射它的方式调用了我的表。我不知道它是如何更改的以及为什么更改的。任何人都可以提供帮助。查询是在正确的表上生成的,因为select
查询是在表上运行的from data\u object
weatherdat0
只是表的别名,如from
语句中所述:
from data_object weatherdat0_
因此,它只选择了正确的表名
现在,如果查询没有返回任何结果,则意味着没有与
id
匹配的记录,因此我建议您直接在数据库上运行查询,看看它是否返回任何记录。您的问题到底是什么,正确生成的查询没有问题。我无法理解语句问题在于weatherdat0有点错误我的表是以文件数据中映射的方式调用的\u对象不知道它是如何更改的以及为什么更改的任何人都可以帮助?
Hibernate:选择weatherdat0。数据对象id作为数据对象J1\u 1\u 0,weatherdat0。数据对象名称作为数据对象J2\u 1\u 0,weatherdat0.将weatherdat0.数据对象weatherdat0的坐标id设置为坐标3.1.0,其中weatherdat0.数据对象id=?weatherdat0不是我的表名,不要从数据库从数据对象中检索任何对象\u该表是正确的。那么您是如何说错误的表名的呢?如果查询是正确的,那么我是不是做错了什么,因为我的对象没有创建?为什么不直接点击数据库,看看记录是否存在。
from data_object weatherdat0_