我正在使用Oracle10g数据库。 我试过这个问题:
public List<Ods_Gis_Actel> getAll() {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
List<Ods_Gis_Actel> L = session.createQuery("from Ods_Gis_Actel").list();
session.beginTransaction().commit();
return L;
}
它起作用并返回了预期的结果。
但是这个查询没有工作并且一直返回空值。
public Ods_Gis_Actel getById(String id) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Ods_Gis_Actel a = (Ods_Gis_Actel) session.get(Ods_Gis_Actel.class,new String(id));
return a;
}
这是Ods_Gis_Actel类:
package dao;
public class Ods_Gis_Actel {
private String code_actel;
private String nom_actel;
private String code_region;
private String libelle_region;
}
我的配置文件和HibernateUtil都很好而且正确。
我从视频教程中复制了查询函数的行,这里一切正常。 这可能是 Oracle10g 和 Hibernate 的兼容性问题吗?
答案 0 :(得分:0)
可能没有您的身份证明(String id
)的记录
您应该删除session.beginTransaction();
Ods_Gis_Actel a = (Ods_Gis_Actel) session.get(Ods_Gis_Actel.class,id);