这是hibernate延迟加载的问题,从包名看你用的是Hibernate3,Hibernate3中默认属性也会延迟加载。
我的办法是log.info("persistence job"); 
//你要实现这个函数,跟你查找其他组件的方法一样
SessionFactory sessionFactory = ServiceFactory.getSessionFactory ();
//然后绑定session
    Session s = sessionFactory.openSession();
    TransactionSynchronizationManager.bindResource(sessionFactory,new SessionHolder(s));
//然后是你的代码
JobService jobService = ServiceFactory.getJobService(); 
List jobs = jobService.getSendPooling(); 
Iterator jobList = jobs.iterator(); 
while(jobList.hasNext()){ 
SenPoo sendPooling = (SenPoo)jobList.next(); 
ChannelInstance instance = sendPooling.getChaIns();//<--------此句出现了异常 

解决方案 »

  1.   

    //然后取消邦定
        SessionHolder holder = (SessionHolder) TransactionSynchronizationManager.
            getResource(sessionFactory);
        s = null;
        if (holder != null) {
          s = holder.getSession();
          s.flush();
          TransactionSynchronizationManager.unbindResource(sessionFactory);
          SessionFactoryUtils.closeSessionIfNecessary(s, sessionFactory);
        }觉得这个办法不太优雅,谁有更好的办法解决这种Open Session In Method一类问题
      

  2.   

    是延迟加载的问题,实际上就是lazy="true"了,如果不怕影响效率,就让lazy="false"最为直接,而且简单。
    否则最好加上事务处理,同时采用opensessioninview,可参看spring的这个类。OpenSessionInViewFilter就可以了。