您的位置:首页 > Web前端 > JavaScript

@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都已经配置好的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: