社区
Java EE
帖子详情
hibernate的缓存
a1123454
2008-12-02 02:08:26
有3张关联的表,UserInfo,UserFace,Topic,其中UserInfo的 faceID对应UserFace的主键,Topic的userID对应UserInfo的主键,
用SSH框架获得Topic中用户的皮肤的name 即${topic.userInfo.userFace.name}.提示报错,session关闭。
但我可以获得${topic.userInfo.username}.
各位大侠,这样怎么解决
...全文
133
7
打赏
收藏
hibernate的缓存
有3张关联的表,UserInfo,UserFace,Topic,其中UserInfo的 faceID对应UserFace的主键,Topic的userID对应UserInfo的主键, 用SSH框架获得Topic中用户的皮肤的name 即${topic.userInfo.userFace.name}.提示报错,session关闭。 但我可以获得${topic.userInfo.username}. 各位大侠,这样怎么解决
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gongyali2005
2008-12-08
打赏
举报
回复
opensessioninviewfilter应该可以解决
East271536394
2008-12-03
打赏
举报
回复
${topic.userInfo.userFace.name}.提示报错,session关闭。
肯定是不能这样用的,原因是:Session的Scope只在这个类中,
你在JSP中用了,肯定是报错...
然月枕流君
2008-12-02
打赏
举报
回复
懒加载问题
解决hibernate懒加载的问题:
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
scorpionqxq
2008-12-02
打赏
举报
回复
首先确保配置正确。延迟加载下,session关闭,是因为你取得 topic 对象后,session.close()了;(仔细检查代码)
这时只得到了 topic 的对象中自身的属性,并没有得到 级联对象的那个属性。如:
也就是说 topic 对象的 userInfo 属性值没有得到。所以,你再 ${topic.userInfo.username} 时候就会报错:session关闭
解决办法:
1. 取得 topic 对象后不要session.close(),使用完 ${topic.userInfo.username} 后再关闭。这样的话就得要好好考虑什么时候关闭session了。
2. 再写个topic相对应的DTO类:Data Transfer Object(数据传输对象),也是先不关闭 session ,得到 topic 后,把要显示到页面的信息传给topic对应的DTO类,在关闭session,页面上只需用DTO这个类就ok了。
还有个方法,也可以参考哈
org.hibernate.Hibernate
static void initialize(Object proxy)
Force initialization of a proxy or persistent collection.
tzb08
2008-12-02
打赏
举报
回复
采用延迟加载解决吧,该是你缓存里面没UserFace对象了
a1123454
2008-12-02
打赏
举报
回复
[Quote=引用 1 楼 Ousui 的回复:]
实体类代码呢?
这个和数据库没关系,导航不过去是实体类的问题。
确保 Topic 有 UserInfo 属性,
而 UserInfo 有 UserFace 属性。
[/Quote]
可以确保有你说的属性,只不过Topic只是通过UserInfo才有userFace的属性。
所以我猜想可能是这里出问题。
_______--
2008-12-02
打赏
举报
回复
实体类代码呢?
这个和数据库没关系,导航不过去是实体类的问题。
确保 Topic 有 UserInfo 属性,
而 UserInfo 有 UserFace 属性。
Hibernate
3的依赖包
HIbernate
3框架的依赖包。 使用说明:下载完成后,直接将解压缩后文件夹中的jar包引入到Eclipse中即可
hibernate
4.2-jar包.zip
hibernate
4.2-jar包.zip
hibernate
4.3.10.Final
Hibernate
是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库。
hibernate
3.2 jar包
hibernate
的核心jar包,使用
hibernate
必须的
hibernate
3.3.1的jar包
hibernate
3.3.1的jar包!!
hibernate
3.3.1的jar包
hibernate
3.3.1的jar包
hibernate
3.3.1的jar包
Java EE
67,537
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章