0

我遇到了一个错误。即使我使用的值和查询是正确的,数据库查询似乎也会返回一个空值。

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;
}

(Log4j 在控制台中显示了正确的查询,我确信我正在搜索的行存在于表中)。

查询 getAll() 工作正常,所以我认为这意味着映射是正确的。 可以是 hibernate.util 吗?

公共类 HibernateUtil { 公共静态最终 SessionFactory sessionFactory;

static {
    try {
        // Creation of SessionFactory from hibernate.cfg.xml
        sessionFactory = new Configuration().configure("Hibernate.cfg.xml").buildSessionFactory();
    } catch (Throwable ex) {
        // Make sure you log the exception, as it might be swallowed
        System.err.println("Initial SessionFactory creation failed." + ex);
        throw new ExceptionInInitializerError(ex);
    }
}

// public static final ThreadLocal session = new ThreadLocal();

public static SessionFactory getSessionFactory() {
    return sessionFactory;
}

}

谢谢,

4

0 回答 0