使用Criteria.list( )赋值给list,list值为空,这是什么原因?

public List search(User condition) {
        List list=null;
        Session session=sessionFactory.getCurrentSession();
        Transaction tx=session.beginTransaction();
        try {
            Criteria c=session.createCriteria(User.class);
            Example example=Example.create(condition);
            c.add(example);
            list=c.list();
            tx.commit();
        } catch (Exception e) {
            tx.rollback();
        }
        return list;
    }
以上的几个步都没问题,就到了list=c.list(); , c.list是有值得,然后赋值给list,list值还是为空,这是原因啊?

你把事务放他上面一行试一下。

list需要new。