0
我試圖在mysql數據庫槽中插入和選擇數據Hibernate和Insert對我來說工作正常,但選擇某種方式不映射正確的表名並返回沒有結果。休眠選擇錯誤的表名
獲取和插入代碼:
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>
當我看到SQL執行字符串是:
Hibernate: insert into coordinates (coordinates_lat, coordinates_lon) values (?, ?)
Hibernate: insert into data_object (data_object_name, coordinates_id) values (?, ?)
Hibernate: select weatherdat0_.data_object_id as data_obj1_1_0_, weatherdat0_.data_object_name as data_obj2_1_0_, weatherdat0_.coordinates_id as coordina3_1_0_ from data_object weatherdat0_ where weatherdat0_.data_object_id=?
的問題是weatherdat0
,不知怎的,是錯我的表稱爲我映射它在路上文件data_object不知道如何以及爲什麼改變任何人可以幫助?
你的問題到底是什麼,生成的查詢沒有問題。我無法理解這個問題:「問題是weatherdat0,不知何故,我的表格被稱爲我將其映射到文件data_object中的方式不知道如何以及爲什麼它會被改變,任何人都可以幫助?' – Chaitanya 2014-09-25 17:26:10
Hibernate:select weatherdat0_ .data_object_id as data_obj1_1_0_,weatherdat0_.data_object_name as data_obj2_1_0_,weatherdat0_.coordinates_id as coordina3_1_0_ from data_object weatherdat0_ where weatherdat0_.data_object_id =? weatherdat0_不是我的表的名稱,也不會從數據庫 – EdinTAm 2014-09-25 17:27:18
'from data_object'中檢索任何對象,表格是正確的。那你怎麼說錯了表名? – Chaitanya 2014-09-25 17:28:30