hibernate3 和hibernate4的一点小变动

这两天在做下学籍管理系统,由于hibernate是之前学的,所以这次开发没意识到hibernate3跟hibernate4版本更换的一些变动。
就照搬之前学hibernate3的代码来用,尽管知道该项目使用hibernate4,但却忽视了两者间发生了变动。导致出现了一些问题。
以下对出现的问题做一下记录,记录那时用hibernate3用在hibernate4的小错误。
一、出现了

org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;这个问题,上网一查,原来是

到hibernate4的时候,spring已经不再提供hibernateDaoSupport.getTemplate也不支持了.
就用hibernate4的session就可以了。
我把内容修改为了
直接使用注入的sessionFactory.openSession();来取得session.发现可行...
hibernate3时的代码
 
public List<Course> findAll() {
        DetachedCriteria dc = org.hibernate.criterion.DetachedCriteria.forClass(Student.class);
        return this.getHibernateTemplate().findByCriteria(dc);
    }

 后来改成:

public List<Student> findAll() {
        Session session = sessionFactory.openSession();
        Criteria criteria = session.createCriteria(Student.class);
        List<Student> list = (List<Student>) criteria.list();
        return list;
    }
posted @ 2017-05-10 16:30  李白说故事  阅读(265)  评论(0编辑  收藏  举报