SSH框架下有个地方无法实现延迟加载,大侠指点一下了:
XML的配置中:
policy.hbm.xml
..................
<map name="insurants" table="Insurant" lazy="true" outer-join="false"
sort="unsorted" cascade="all" order-by="id"> <key column="policy"></key> <index column="id" type="java.lang.String" length="32" /> <one-to-many class="com.db.bo.Insurant"/> </map>
..................程序中运行时倒是实现了延迟加载,单步跟踪时并没有去加载关联数据,但是在一直将结果集(policylist)输出到JSP时,又在不停地加载关联数据 insurant这个表了
JSP的部分代码:
<%@ taglib uri="http://struts.apache.org/tags-nested" prefix="nested" %>
............
<nested:iterate id="policy" name="policyList">
.....................不知道在JSP中是否有什么特别设置的吗???
XML的配置中:
policy.hbm.xml
..................
<map name="insurants" table="Insurant" lazy="true" outer-join="false"
sort="unsorted" cascade="all" order-by="id"> <key column="policy"></key> <index column="id" type="java.lang.String" length="32" /> <one-to-many class="com.db.bo.Insurant"/> </map>
..................程序中运行时倒是实现了延迟加载,单步跟踪时并没有去加载关联数据,但是在一直将结果集(policylist)输出到JSP时,又在不停地加载关联数据 insurant这个表了
JSP的部分代码:
<%@ taglib uri="http://struts.apache.org/tags-nested" prefix="nested" %>
............
<nested:iterate id="policy" name="policyList">
.....................不知道在JSP中是否有什么特别设置的吗???
解决方案 »
- Jboss服务器,本地没问题,部署到服务器就报错
- 用junit调试hibernate小程序出现的错误
- 求救,哪位哥们帮忙解决一下,SSH整合的错误
- spring+hibernate事务回滚
- Exception in thread "main" java.lang.NoSuchMethodError: main 帮忙解决下吧!
- 关于hibernate中load()
- 请问我用哪种架构比较合适?(在线讨论各种架构性能问题)
- JB8+Weblogic中新建jsp,servlet(默认)出错,请帮忙
- 原创奉献“Eclipse + JBOSS 打造PetStore”
- 请教EJB前辈指点,关于实体BEAN的异常问题
- 正则表达式用法
- 初学JSF,出现的问题。
这加上
fetch="select"
<filter>
<filter-name>osivFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>osivFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
web.xml加上试试
跟确切的说,应该是输出到页面中的对象已经不在hibernate的session管理中了,故无法去延迟加载级联对象
这跟这个没什么关系吧。outer-join是定义查询时表关联的方式
从filter的名字来看,这个filter应该就可以解决问题。
因为是页面是个列表,所以每条数据都会去数据库中查询一次关联表,非常影响查询效率了
看这个意思是在JSP中应该不会再去查询关联表才对,但现在单步跟踪时发现在JSP中不停在访问这个关联表,
如果去掉<nested:iterate...这句就没查询了
这个就不知道怎么回事了,是不是跟<nested:iterate..这个标签有关???还是觉得不应是那样的!通常情况下持久层框架的session维护的对象,到页面中时应该是不在范围之中的
不知道为什么在使用<nested:iterate 时后台显示在加载关联表
对嘛 要使用spring的这东西
配了这个查询的时候要加载这个类