no session or session was closed

abrs561shgshg 2009-04-03 04:13:32
碰到一个奇怪现象:1、权限表 2、用户组表 ,两个表直接的关系多对多,两表的mapping如下(只列出之间的对应关系,其他略)
1、权限表: <set name="usrGrp" table="UsrGrpPopedom" cascade="save-update" inverse="true">
<key column="pm_id"/>
<many-to-many column="up_id" class="com.flex.hibernate.model.UsrGrp"/>
</set>
2、用户组表: <set name="popedom" table="UsrGrpPopedom" cascade="save-update" inverse="false" lazy="false">
<key column="up_id"/>
<many-to-many column="pm_id" class="com.flex.hibernate.model.Popedom"/>
</set>
在一启动flex,到调用相应的模块的时候(但是并没有CRUD即增删改查操作),就报faultCode:Server.Processing faultString:'failed to lazily initialize a collection of role: com.flex.hibernate.model.Popedom.usrGrp, no session or session was closed' faultDetail:'null'错误,但是我在jsp+spring+hibernate是可以通过啊,而且都可以进行CRUD操作了,不知道为什么在flex通不过,看情况也是session is closed,请高手指点??
...全文
789 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
dodo_34 2010-03-10
  • 打赏
  • 举报
回复
我也碰到同样问题,请问怎么解决的呀?
abrs561shgshg 2009-04-08
  • 打赏
  • 举报
回复
自己搞定
abrs561shgshg 2009-04-08
  • 打赏
  • 举报
回复
dadi5566 2009-04-07
  • 打赏
  • 举报
回复
<set name="usrGrp" table="UsrGrpPopedom" cascade="save-update" inverse="true" lazy="false">
加上红色的部分
abrs561shgshg 2009-04-07
  • 打赏
  • 举报
回复
abrs561shgshg 2009-04-07
  • 打赏
  • 举报
回复
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate.support.OpenSessionInViewFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>我用料这个,不过flex启动不起来啊,所以就放弃了
himlys 2009-04-07
  • 打赏
  • 举报
回复
open session in view
abrs561shgshg 2009-04-07
  • 打赏
  • 举报
回复
两边都加料lazy=false,都报:faultCode:Server.Processing faultString:'org.springframework.orm.hibernate3.HibernateJdbcException : JDBC exception on Hibernate data access; nested exception is org.hibernate.exception.SQLGrammarException: could not initialize a collection: [com.flex.hibernate.model.UsrGrp.popedom#10001]' faultDetail:'null'错误的
abrs561shgshg 2009-04-07
  • 打赏
  • 举报
回复
都试过了,不行的,而且我碰到一个奇怪现象啊,竟然生成不了中间表,这是什么道理啊,我在ssh工程里是可以的,而在flex工程里竟然不行,为什么啊??
csouyangjun 2009-04-07
  • 打赏
  • 举报
回复
你要延时加载的话,
就不要关闭session ,
你自己写个过滤器,
在过滤器里搞定session
abrs561shgshg 2009-04-04
  • 打赏
  • 举报
回复
试了:lazy=true,都是一样的错误
abrs561shgshg 2009-04-04
  • 打赏
  • 举报
回复
如写成lazy=true不加载的话,那应该是不会报错的,关键是我要在加载的时候不要session is closed
jourqel 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ben0759 的回复:]
应该是系统自动加载了这2张表,而你配置了懒加载,但是那个时候还没有初始化到session,所以显示session为空或者还没初始化,你试下关掉懒加载,lazy=false,看看还会不会报错。
[/Quote]
又学习了~顶一下~
jourqel 2009-04-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ben0759 的回复:]
应该是系统自动加载了这2张表,而你配置了懒加载,但是那个时候还没有初始化到session,所以显示session为空或者还没初始化,你试下关掉懒加载,lazy=false,看看还会不会报错。
[/Quote]
又学习了~顶一下~
ben0759 2009-04-03
  • 打赏
  • 举报
回复
应该是系统自动加载了这2张表,而你配置了懒加载,但是那个时候还没有初始化到session,所以显示session为空或者还没初始化,你试下关掉懒加载,lazy=false,看看还会不会报错。
ouyangxiaokang6 2009-04-03
  • 打赏
  • 举报
回复
flex不懂,帮你up

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧