简单的说,我用hibernate语言进行查询,初始化了一个session,函数需要return一个Iterator类型,但是我要关闭此session,我应该把这个close session语句放在哪里?
详细点说,我的与数据库连接进行查询的函数如下:
public class OperatorBean extends AbsQueryMap
{
	public OperatorBean()throws HibernateException
	{  
    this.initSession();
	    }
//查询所有操作员的基本信息
	
	public Iterator getAllOperatorBase()throws HibernateException
	{
	String queryString = "select operatorInfos from OperatorInfo as operatorInfos";
	initSession();
	Query query = this.session.createQuery(queryString);
	
	Iterator it= query.iterate();
	return it;
	}
}
其中,AbsQueryBase的作用是初始化session,具体代码如下:
public class AbsQueryMap {
 /**
     * 打开当前的数据库连接
     * @return
     * @throws HibernateException
     */
    public void initSession() throws HibernateException {
     this.session = DBUtil.currentSession();
    }
    /**
     * 关闭当前的数据库连接
     * @throws HibernateException
     */
    public void closeSession() throws HibernateException {
     DBUtil.closeSession();
    }
   }
我在Action中调用OperatorBean,如下
OperatorBean business=new OperatorBean();
Iterator it=business.getAllOperatorBase();
难道我要在Action中关闭session吗?
急救啊,小米!
	
	
	
	
posted on 2005-08-29 11:16 
小米 阅读(387) 
评论(0)   收藏