could_not_initialize_proxy_-_no_Session

<many-to-on>中这错误很常见,字面意义就是不能被初始化,因为session已经关闭了。

简单理解就是因为,你使用了lazy=true,这样hibernate在从数据库中调数据的时候是不会把关联的对象查出来的,而是保存一个获取值得方法,在你使用getXXX()调用的时候,hiberante会利用这个保存的方法去从数据库中取数据。而往往我们在jsp页面中使用getXXX()准备展示数据的时候,session早已经在dao中就关闭了,我们该如何解决这种异常呢?

 lazy设成false,2的办法,但是最简单,简单就是美嘛,也依然会有很多再使用这个方式再解决类似问题。

 

如:<many-to-one name="category" class="com.shop.category.po.Category" fetch="select"       lazy="false">
            <column name="category_id" />
        </many-to-one>

你可能感兴趣的:(DAO,Hibernate,jsp)