发布于 2015-11-13 14:17:31 | 490 次阅读 | 评论: 1 | 来源: PHPERZ

这里有新鲜出炉的Hibernate教程,程序狗速度看过来!

Hibernate 开源对象关系映射框架 ORM

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。


在使用SpringMVC+Hibernate环境中返回JSON数据有时会出现如下错误:Handler execution resulted in exception: Could not write content: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) ) (through reference chain:.................cn.harmel.lms.system.domain.XXX_$$_jvst988_0["handler"])

还有...........cn.harmel.lms.system.domain.XXX_$$_jvst988_0["hibernateLazyInitializer"])

这是因为你需要序列化对象有一个属性是一类类型,而你使用了Hibernate的延迟加载所以这里是个Hibernate的代理对象。该代理对象有些属性不能被序列化所以会报错。

解决办法:在类型上加如下注解把不需要序列化的属性屏蔽掉

@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler" })


最新网友评论  共有(1)条评论 发布评论 返回顶部
gosx 发布于2016-03-06 20:58:39
没效果
支持(0)  反对(0)  回复

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务