[英]Unable to populate data from database in proper list object using hibernate
我有一個這樣的數據庫表:
gid varchar not null primary key
cId varchar not null
guid varchar
d_flag int not null
c_dt datetime
u_dt datetime
d_dt datetime
現在,我想通過休眠獲取gid,cid guid和c_dt。
我已將映射文件配置如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 20 Julai 2010 11:40:18 AM by Hibernate Tools 3.2.5.Beta -->
<hibernate-mapping>
<class name="kmbt.csa.sboxm.model.SBoxInfo"
table="gwinfo" >
<id name="id" type="org.hibernate.type.StringType" column="gid">
<generator class="assigned"/>
</id>
<property name="regTime" type="org.hibernate.type.TimestampType">
<column name="c_dt" length="19" not-null="true" />
</property>
<property name="tenantId" type="org.hibernate.type.StringType">
<column name="cId" length="30" not-null="true" />
</property>
<property name="gId" type="org.hibernate.type.StringType" insert="false" update="false">
<column name="gid" length="100" not-null="true" />
</property>
<property name="gUserId" type="org.hibernate.type.StringType">
<column name="guid" length="100" not-null="true" />
</property>
</class>
</hibernate-mapping>
我的pojo課:
public class SBoxInfo implements Serializable {
private static final long serialVersionUID = -4067221292770891832L;
private int id;
private String regTime;
private String sLabelId;
private String tenantId;
private String gId;
private String status;
private String stateChangedTime;
private String gUserId;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getRegTime() {
return regTime;
}
public void setRegTime(String regTime) {
this.regTime = regTime;
}
public String getsLabelId() {
return sLabelId;
}
public void setsLabelId(String sLabelId) {
this.sLabelId = sLabelId;
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public String getGId() {
return gId;
}
public void setGId(String gId) {
this.gId = gId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getStateChangedTime() {
return stateChangedTime;
}
public void setStateChangedTime(String stateChangedTime) {
this.stateChangedTime = stateChangedTime;
}
public String getGUserId() {
return gUserId;
}
public void setGUserId(String gUserId) {
this.gUserId = gUserId;
}
}
現在,我試圖像這樣獲取數據:
session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = session.beginTransaction();
Query query = session.createQuery("select regTime,gwId,gwUserId,tenantId from SBoxInfo");
List<SBoxInfo> listOfSaaSGWs = (List<SBoxInfo>)query.list();
transaction.commit();
session.close();
但是問題是我無法以List SBoxInfo格式獲取數據,而是在簡單的Object中接收數據。
誰能解釋問題出在哪里?
只需將查詢更改為
Query query = session.createQuery("from SBoxInfo");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.