hibernate懒加载导致对象json化失败问题解决
2012-10-11 18:01
615 查看
遇见了hibernate懒加载导致对象json化失败的问题,换位思考后解决
大家可以看我的http://blog.csdn.net/luo_yifan/article/details/8061713这一篇博客
下面想记录的是hibernate懒加载的用处
例子代码如下:
如何实现在web时才去取到懒加载的值。
原理:
在返回渲染页面的时候,jsp会去把jsp页面上嵌入的java程序读出来,标签,<%%>,el表达式这些。这些东西里面必然写了你想读出的属性,虽然不一定立刻就显示。但此时懒加载就会去加载实际的值(运行sql)。准备好数据后再完成页面渲染。并不是说你后面点击页面某个按钮在本页面的一个div中显示一下某对象懒加载的值的时候才去运行sql的。
hibernate:
hibernate的懒加载必须保持session打开,所以只有使用openSessionInVew。
如果用spring集成呢,直接用spring提供的OpenSessionInViewFilter ,OpenSessionInViewFilter 适用于 Service 层使用HibernateTransactionManager 或 JtaTransactionManager 进行事务管理的环境。
------------------------------
附:openSessionInVew时序图
大家可以看我的http://blog.csdn.net/luo_yifan/article/details/8061713这一篇博客
下面想记录的是hibernate懒加载的用处
例子代码如下:
class Student{ int id; String name; Class class; List<Num> numlist; @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(name="class_id") public Class getClass () { return class; } public void setClass (Class class) { this.class= class; } @OneToMany(fetch=FetchType.LAZY) @JoinColumn(name="numlist_id") public List<Num> getNumList () { return numlist; } public void setNumList (List<Num> numlist) { this.numlist= numlist; } }
如何实现在web时才去取到懒加载的值。
原理:
在返回渲染页面的时候,jsp会去把jsp页面上嵌入的java程序读出来,标签,<%%>,el表达式这些。这些东西里面必然写了你想读出的属性,虽然不一定立刻就显示。但此时懒加载就会去加载实际的值(运行sql)。准备好数据后再完成页面渲染。并不是说你后面点击页面某个按钮在本页面的一个div中显示一下某对象懒加载的值的时候才去运行sql的。
hibernate:
hibernate的懒加载必须保持session打开,所以只有使用openSessionInVew。
如果用spring集成呢,直接用spring提供的OpenSessionInViewFilter ,OpenSessionInViewFilter 适用于 Service 层使用HibernateTransactionManager 或 JtaTransactionManager 进行事务管理的环境。
------------------------------
附:openSessionInVew时序图
相关文章推荐
- ibatis懒加载导致对象json化失败,ibatis和hibernate的懒加载对比
- json解决hibernate中级联对象延迟加载问题net.sf.json.JSONException: org....
- hibernate+spring mvc, 解决hibernate 对象懒加载 json序列化问题
- 解决父页面加载iframe时,src链接中参数值过大导致加载失败的问题
- hibernate+spring mvc,解决hibernate对象懒加载,json序列化失败
- 解决因为hibernate的懒加载引起的json 序列化失败的问题
- 使用PrintWriter对象导致Struts国际化化失败问题的解决及分析
- 如何解决 hibernate 多级对象加载并避免join和N+1次查询问题
- json解决hibernate中级联对象延迟加载问题net.sf.json.JSONException: org....
- 解决安卓加载长图出现解码失败导致显示空白的问题
- 解决Hibernate中不同包内有形同实体导致映射失败的问题
- json解决hibernate中级联对象延迟加载有关问题
- Hibernate懒加载导致json数据对象传输异常的问题---(非常重要)
- hibernate+spring mvc,解决hibernate对象懒加载,json序列化失败
- hibernate + spring mvc,解决Hibernate对象懒加载,json序列化失败
- 解决Weblogic 配置连接池加载数据库驱动失败问题
- 延迟加载解决offset过大导致的分页性能问题
- 解决npm安装Electron缓慢网络超时导致失败的问题
- fastjson序列化hibernate代理和延迟加载对象出现no session异常的解决办法
- 开机登录失败 提示"user profile service服务未能登录,无法加载用户配置文件" 问题解决办法