@ResponseBody返回jsonView对Hibernate延迟加载出现的问题
2016-05-17 16:10
363 查看
@ResponseBodyy返回Object对象, 该对象将会被ObjectMapper转化为json
如果框架里面使用了hibernate, 而且查询出来的对象有延迟加载的属性, 那就悲剧了
ObjectMapper把对象转化成json 的时候, 会读取lazy property, 这样, 就会发出多余的sql
幸好hibernate也发布了jar包对付此情况
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hibernate4</artifactId>
<version>2.0.2</version>
</dependency>
就这么简单, Controller渲染@ResponseBody jsonView的时候, 遇到Lazy属性,就不会去加载它, 这样,就不会发出多余的sql
注意: 本文章主要描述的是Lazyload的jsonView问题, 假设的前提是Session和@Transactional都已经配置好的.
如果框架里面使用了hibernate, 而且查询出来的对象有延迟加载的属性, 那就悲剧了
ObjectMapper把对象转化成json 的时候, 会读取lazy property, 这样, 就会发出多余的sql
幸好hibernate也发布了jar包对付此情况
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-hibernate4</artifactId>
<version>2.0.2</version>
</dependency>
就这么简单, Controller渲染@ResponseBody jsonView的时候, 遇到Lazy属性,就不会去加载它, 这样,就不会发出多余的sql
注意: 本文章主要描述的是Lazyload的jsonView问题, 假设的前提是Session和@Transactional都已经配置好的.
相关文章推荐
- JS获取IMG图片高宽的简单实例
- 简单的分页代码js实现
- Js获取图片原始宽高的实现代码
- 关于jS编译时报Uncaught SyntaxError: Unexpected identifier
- web前端基础教程:javascript循环的用法
- js字符串的操作
- js 操作字符串
- JS给元素循环添加事件的问题
- js替换字符串中特殊字符
- js 操作 cookie
- JSON.parse解析单引号名值对报错
- javascript高级教程:如何优化javascript代码性能
- FastJson解析
- 前端高级教程:javascript代码怎么优化
- 什么是 jsonp ?
- 浏览器渲染流程
- [js] post 方式打开新窗口
- JavaScript判断页面加载完之后再执行预定函数的技巧
- jsp页面中两种方式显示当前时间
- 图片不能上传js不管用