public class Catalogazione extends ModelEntity {
private String nome;
private int showBox;
public int getShowBox() {
return showBox;
}
public void setShowBox(int showBox) {
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
请注意,ModelEntity还定义了一个id属性,整数也是如此。 它使用此映射文件映射到oracle表:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="alekso.npe.model.Catalogazione" table="Catalogazione" lazy="false">
<id name="id" column="ID">
</id>
<property name="nome" column="Nome" />
<property name="showBox" column="ShowBox" type="integer"/>
</class>
</hibernate-mapping>
很简单。 从数据库中检索对象时,showBox属性始终为0。 这是用于检索对象列表的代码
public List<Catalogazione> getAll() throws Exception {
List<Catalogazione> catalogazioni = new ArrayList<Catalogazione>();
Session session = null;
try {
session = SessionFactoryUtil.getInstance().openSession();
String query = "from Catalogazione as cat";
catalogazioni = session.createQuery(query).list();
return catalogazioni;
} catch (Exception ex) {
// log error
} finally {
session.close();
}
}
就是这样。 Catalogazioni的每个实例都有showBox = 0,即使在db中有多个值。 谁能告诉我为什么?此外,id同样映射到db上的整数字段,它工作正常......我缺少什么?
答案 0 :(得分:0)
你的二传手没有做任何事情:
public void setShowBox(int showBox) {
}
^---