簡體   English   中英

無法使用Hibernate在適當的列表對象中填充數據庫中的數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM