-1

我正在使用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 都很好而且正确。

我从这里的视频教程中复制了查询函数的行,一切正常。这会是Oracle10gHibernate的兼容性问题吗?

4

1 回答 1

0

可能没有您的 id ( String id) 记录。
你应该删除session.beginTransaction();

 Ods_Gis_Actel a = (Ods_Gis_Actel) session.get(Ods_Gis_Actel.class,id);
于 2013-08-02T04:34:14.180 回答