在多对多延迟加载的时候,获取用户对对应的角色时发现延迟加载无作用,已经配置了OpenSessionInViewFilter,居然没用。
从开启tomcat后从页面上进去action然后进入Service这时候延迟加载有作用,正常的。
但是我在spring中配置init-method执行某个方法时延迟加载就失效了,提示:no seession,session被关闭之类的话。在得到session的时候如果用getCurrentSession,就会报这种错误,改成openSession()后全部正常,但是这样做肯定不可以,太影响性能。这可怎么办?碰到这么诡异的问题。
从开启tomcat后从页面上进去action然后进入Service这时候延迟加载有作用,正常的。
但是我在spring中配置init-method执行某个方法时延迟加载就失效了,提示:no seession,session被关闭之类的话。在得到session的时候如果用getCurrentSession,就会报这种错误,改成openSession()后全部正常,但是这样做肯定不可以,太影响性能。这可怎么办?碰到这么诡异的问题。
解决方案 »
- axis 调用cxf 自定义对象怎么掉啊 着急请各位高手看看
- request.getParameter获取中文是乱码
- EL表达式的问题
- c3p0 有新的了嘛 支持sql2008连接的? 怎么连啊?
- 跪求一个像CSDN提问时改字体的工具框!
- jni 的问题,请高手指点。
- 如何用java识别验证码??
- 关于JDBC连接数据库
- 我作了一个可执行jar文件,但是,不能连接数据库,也没有抛出异常,是怎么回事?
- httpclient 4.X请求得到的response有Transfer-Encoding: chunked时无法获取数据,求解决方案,(3.x是可以取数据)
- 使用Google账户实现第三方权限控制
- jdk删错不了,我把文件给删了,但是重装不上了。怎么能重装呢?
//其他省略
private List<Role> roleList =new ArrayList<Role>(); @ManyToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinTable(name = "user_role", joinColumns = { @JoinColumn(name = "userid") },
inverseJoinColumns = { @JoinColumn(name = "roleid") })
}
//Role类
public class Role extends IdEntityAUTO {
//其他略
private List<User> userList = new ArrayList<User>();
@ManyToMany(mappedBy="roleList")
public List<User> getUserList() {
return userList;
}}
<bean id="hahaha" class="com.util.web.LoadResc" init-method="load"></bean>
load方法public void load(){
List<User> userList = userServiceImpl.findAllUser() ;
for(User user : userList) {
user.getRoleList;//这句的时候就报session已经关闭
}
}
web.xml中已经在最开始就配置了:
hibernateOpenSessionInViewFilter
我用的是3.3.2~~好像是的,通过spring启动openviewfilter就不起作用了,这下该怎么办?
session这个东西本来就不好用