不知道怎么回事。我的SessionFactory是在这个类中(ServiceForAdminImpl)创建的,大致情况如下
-----------------------------------------------------------------------------------------
public class ServiceForAdminImpl extends ServiceAdapter{
  static{
sf = new AnnotationConfiguration().configure().buildSessionFactory();
ServletActionContext.getRequest().getSession().setAttribute("sf", sf);   //然后我把它放在session中      } 
  
}
-----------------------------------------------------------------------------------------
另外一个类的情况如下
public class SearchPayRecord extends ServiceAdapter {

public Object listPayRecord(Object obj){
SearchPayRecordAction searchAction = (SearchPayRecordAction)obj;

SessionFactory sf = (SessionFactory) ServletActionContext.getRequest().getSession().getAttribute("sf"); Session session  = sf.getCurrentSession();
session.beginTransaction();
AdminInfoBean admin =(AdminInfoBean) ServletActionContext.getRequest().getSession().getAttribute("admin");

Query query = session.createQuery("from PayRecordBean p where p.house.id=:houseId and p.house.admin.id=:adminId")
.setLong("houseId", searchAction.getHouseId())
.setInteger("adminId", admin.getId());
List<PayRecordBean> record = (List<PayRecordBean>)query.list();

session.getTransaction().commit();
return record;
}}-----------------------------------------------------------------------------------------------------
然后服务器就会报could not initialize proxy-no session这个错误
但是如果我把session.getTransaction().commit();注释掉,它就不会报错,这是怎么回事
-----------------------------------------------------------------------------------------