SpringMVC杂记(七) Jackson与Hibernate LazyLoding无法正常工作解决办法
1) 如下代码
@Controller
@RequestMapping("/just")
public class TestController {
@Resource
private EmployeeDao dao;
@ResponseBody
@RequestMapping("/test")
public List<Employee> test() {
return dao.findAllEmployees();
}
}
如果dao查找出来的列表中包含不完整的Entity最终SpringMVC会出现一个内部异常。
2) 有人写了一个插件专门来解决这个问题。
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>jackson-module-hibernate</artifactId>
<version>1.9.1</version>
</dependency>
这里包含一个Moduel("com.fasterxml.jackson.module.hibernate.HibernateModule")实现,就像所有Jackson标准的Model注册一下就可以用了。
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new HibernateModule());
3) 可以自己写一个ObjectMapper的子类注册给"org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"
package com.wicresoft.jpo.demo.json;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig.Feature;
import com.fasterxml.jackson.module.hibernate.HibernateModule;
public class HibernateAwareObjectMapper extends ObjectMapper {
public HibernateAwareObjectMapper() {
HibernateModule hm = new HibernateModule();
registerModule(hm);
configure(Feature.FAIL_ON_EMPTY_BEANS, false);
}
public void setPrettyPrint(boolean prettyPrint) {
configure(Feature.INDENT_OUTPUT, prettyPrint);
}
}
<mvc:annotation-driven conversion-service="conversion-service" validator="validator">
<mvc:message-converters register-defaults="false">
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
<bean class="org.springframework.http.converter.FormHttpMessageConverter" />
<bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter" />
<!-- 修改为以下配置即可 -->
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="objectMapper">
<bean class="com.wicresoft.jpo.demo.json.HibernateAwareObjectMapper">
<property name="prettyPrint" value="true" />
</bean>
</property>
</bean>
<bean class="org.springframework.http.converter.StringHttpMessageConverter" />
<bean class="com.wicresoft.jpo.demo.http.converter.UTF8StringHttpMessageConverter" />
</mvc:message-converters>
</mvc:annotation-driven>
分享到:
相关推荐
以上是springmvc+spring+hibernate整合基于eclipse,oracle开发
SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结 SpringMVC spring hibernate 集成 常见问题
SpringMVC+Spring3+Hibernate4
springMvc整合hibernate Demo
文档详细的描述了一个SpringMvc(4.0)+hibernate(4.0)构建的一个项目demo,实现了数据的CRUD基本操作,项目里面使用的是mysql,项目所需要的jar,在里面的百度云连接也可以下载,希望有所帮助
SpringMVC与Hibernate整合所需jar
SpringMVC+Hibernate+Spring整合实例源码下载,很完整的例子,需要的可以下载源码学习
很全面的jar包,可以直接用于springmvc+hibernate项目开发。
springmvc spring3 hibernate4 整合
用户Spring mvc Jackson自动转化的支持
一个完整的springmvc+spring4+hibernate5的架构搭建实例。网上找到的大多是spring3+hibernate3的,比较不适用了。
springmvc demo,整合了hibernate4作为dao层实现。使用c3p0连接池管理连接。
SpringMVC + spring3.1.1 + hibernate4.1.0
基于SpringMVC以及Spring,Hibernate的非注解入门小demo
Spring4+SpringMVC4+Hibernate4+Jackson2.5.0的集成, 代码中具备详细中文注释。
springMVC+maven+hibernate框架,搭建的过程 可以参考 java进阶(五)------springMVC---springMVC+Hibernate+maven完整搭建运行步骤 http://blog.csdn.net/zzq900503/article/details/49892783
在使用springMVC的@ResponBody时必须的jar包
springMVC+Spring3+hibernate4整合实现增删改查demo,带有jar包和测试类。增删改查的操作供大家学习。
springmvc+spring3+hibernate4框架整合,CURD(生成baseDao)