我正在尝试使用Hibernate,但是当我执行查询时,我收到一个实体列表,其中所有属性都是NULL。问题是,当我直接使用 jdbc 时,我能够从我的 DB 中检索值。我阅读了有关 NULL 值的类似文章,但无法弄清楚我的情况出了什么问题。下面你看到:1) 我的实体:网上商店
public class Eshop implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
public Eshop() {}
public Eshop(int eshopId, String code, String name, String lastModified) {
this.eshopId = eshopId;
this.code = code;
this.name = name;
this.lastModified = lastModified;
}
public int eshopId;
public String code;
public String name;
public String lastModified;
public int getEshopId() {
return eshopId;
}
public void setEshopId(int eshopId) {
eshopId = eshopId;
}
public String getCode() {
return code;
}
public void setCode(String code) {
code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
name = name;
}
public String getLastModified() {
return lastModified;
}
public void setLastModified(String lastModified) {
lastModified = lastModified;
}
2)冬眠映射
<hibernate-mapping>
<class name="dataModel.Eshop" table="Eshop">
<meta attribute="class-description">
This class contains the Eshop details.
</meta>
<id name="eshopId" type="int" column="EshopId">
<generator class="native"/>
</id>
<property name="code" column="Code" type="string"/>
<property name="name" column="Name" type="string"/>
<property name="lastModified" column="LastModified" type="string"/>
</class>
</hibernate-mapping>
这就是我运行查询的方式:
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
Query hibernateQuery = session.createQuery("from Eshop");
List<Eshop> Eshops = hibernateQuery.list();
因此,当我运行查询时,我收到我的 Db 中的确切数量的电子商店,但它们的所有属性值均为空!!一个想法??谢谢
你所有的二传手都是错的:
public void setEshopId(int eshopId) {
eshopId = eshopId;
}
这是个呜。它应该是
public void setEshopId(int eshopId) {
this.eshopId = eshopId;
}
尝试像这样添加hibernate.cfg.xml
:
Configuration config = new Configuration().configure("hibernate.cfg.xml");