hibernat延迟加载的问题,高手帮看下

问题描述

现有一个一对多,我配置了lazy="true",已经设置了OpenSessionInViewFilter,但是调用时出现一些错误现有代码如下 Theme theme=((Users)session.get("user")).getTheme();System.out.println("theme.getThemePath()="+theme.getThemePath());//此处打印出来是有值的,theme不为空Set set=theme.getUsers();Iterator it=set.iterator();while(it.hasNext()){Users user=(Users) it.next();String username=user.getUsername();System.out.println(username);}执行报错:org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.struts2.entity.Theme.users, no session or session was closed但是我改成如下:却可以正常运行,Theme theme=new Theme(); theme.setId(1);theme=facadeService.themeService.getThemeFormDB(1); System.out.println("theme.getThemePath()="+theme.getThemePath());Set set=theme.getUsers();Iterator it=set.iterator();while(it.hasNext()){Users user=(Users) it.next();String username=user.getUsername();System.out.println(username);}上面如何才能应用延迟加载?谢谢!

解决方案

Theme theme=((Users)session.get("user")).getTheme(); 此步从session中获得user,再从user中获得theme应该都不在当前session中,所以无法再通过懒加载获得theme的user请参考
解决方案二:
引用是不是你的OpenSessionInViewFilter的顺序不对,要再struts2和你的字符过滤器之前。
解决方案三:
是不是你的OpenSessionInViewFilter的顺序不对,要再struts2和你的字符过滤器之前。可以参考http://blog.csdn.net/fhwbj/archive/2009/03/25/4022805.aspx如果不行,可以把事务配制成REQUIRED试试。

时间: 2024-09-18 09:32:28

hibernat延迟加载的问题,高手帮看下的相关文章

c#利用upnp做端口映射成功了,但始终没法连接,哪位高手帮看下代码?

问题描述 c#利用upnp做端口映射成功了,但始终没法连接,哪位高手帮看下代码?这个是网上的代码,如下:目前有2个问题:1.mappings这个值经常为null,我windows7防火墙已经关闭,路由器upnp也开启了.但有时莫名其妙mappings不为null,于是就把映射信息添加到路由器了.如图2.当添加端口映射成功后,始终无法通信,如图:哪位高手指点一下,谢谢!!!!!!相关代码如下:usingSystem;usingSystem.Collections.Generic;usingSyst

java-大神帮看下我的代码哪里错了?

问题描述 大神帮看下我的代码哪里错了? 题目是编写程序,读入未指定个数的整数,判断读入的正数和负数分别有多少个,然后计算这些输入值的总和及其平均值(不对0计数).当输入为0时,表明程序结束.将平均值以浮点数显示. import java.util.Scanner; public class TextXXXXX { public static void main (String[] args){ Scanner input = new Scanner(System.in); int count1

indows+蓝屏-Windows系统蓝屏,下面是bluescreanView和Windbg分析的结果,求高手帮忙看下~~谢谢

问题描述 Windows系统蓝屏,下面是bluescreanView和Windbg分析的结果,求高手帮忙看下~~谢谢 BlueScream分析结果: ==================================================** Dump File : 121814-18735-01.dmp Crash Time : 2014/12/18 7:19:00 Bug Check String : CRITICAL_OBJECT_TERMINATION Bug Check C

服务器-azure新手,碰到个初级问题,请各位大侠帮看下

问题描述 azure新手,碰到个初级问题,请各位大侠帮看下 刚刚弄个1元钱的测试账户,在家看看 创建了个虚拟网络,存储账户等等. 也理解了下虚拟网络的用户,基本上就是VPN把local的服务器和放微软家的服务器连起来呗,想象成一个IDC内. 现在在家玩,也没什么vpn不vpn的,反正弄了2个虚拟机. 配置虚拟机的时候没地方选网络的嘛!我要是想给虚拟机增加块网卡怎么弄啊,我看配置修改也只能改CPU和RAM好像? 2.我把一台虚拟机的IP改了,能不能远程了.我看VM的仪表盘里,用来远程的不是应该是公

app-跪求高手帮忙看下程序为什么android连接不到servlet上,谢谢大家了

问题描述 跪求高手帮忙看下程序为什么android连接不到servlet上,谢谢大家了 android客户端 package com.android.helloworld; import java.io.DataOutputStream; import java.io.IOException; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException;

代码分析-JAVA 求大神帮看下这段代码 怎么修改 救命啊

问题描述 JAVA 求大神帮看下这段代码 怎么修改 救命啊 真心看不懂 public static char[] a(char[] paramArrayOfChar) { char[] arrayOfChar1 = new char[12]; char[] arrayOfChar2 = new char[12]; arrayOfChar2[0] = '?'; arrayOfChar2[1] = '?'; arrayOfChar2[2] = 'o'; arrayOfChar2[3] = '/';

c-有没有大神帮看下鄙人写的高斯完全主元素消元法代码哪里出了问题,真心感谢啊!

问题描述 有没有大神帮看下鄙人写的高斯完全主元素消元法代码哪里出了问题,真心感谢啊! /*矩阵A用于存放线性方程组的增广矩阵,向量X表示线性方程组的解 #include #include int main() { double m,p,A[10][10],X[10]; int n,i,j,k,q,l,c,w; char a; printf("请输入方程的阶数(小于等于8):n"); scanf("%d",&n); for(i=1;i<=n;i++)//

servlet-大神帮看下这段代码我想把文件上传到webroot下的upload文件夹该怎么改啊

问题描述 大神帮看下这段代码我想把文件上传到webroot下的upload文件夹该怎么改啊 package com.chamber.controller.upload; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Iterator;

java 调用cmd 执行读取sql文件问题?求大神帮看下

问题描述 java 调用cmd 执行读取sql文件问题?求大神帮看下 Runtime run =Runtime.getRuntime(); Process process = run.exec("cmd /cmysql -u root -pssdlh test <d:/test.sql"); InputStreamReader ir = new InputStreamReader(process .getInputStream()); LineNumberReader input