公司目前项目是使用springMVC + hibernate, 今天配置了一个N-1(多对一)实例。但是当我使用get或者load方法加载(N)实例的时候,程序莫名的报错。
@ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = HDS_STRATEGY_INFO.DATAOBJECT_ID) public HdsDataobjectInfo getDataobject() { return dataobject; } public void setDataobject(HdsDataobjectInfo dataobject) { this.dataobject = dataobject; }
这是N端的部分代码。
经过排查,发现在controller中获得的实例不为空,则证明get,load方法已经成功加载了实例,那么问题肯定是返回json数据上。
@RequestMapping(value = "/getById") @ResponseBody public HdsStrategyInfo getById(String id){ return service.getById(id); }
controller配置如上,并没有错误。
后来查了很多资料,得知在集成(hibernate,jackson)时,如果配置了懒加载(
fetch = FetchType.LAZY
)
则需要对这个字段,或者po类进行特殊处理。
有两种方法可以处理该问题:
1.在属性前增加@JsonIgnore注解。注意:配置了该属性,在获得实例时便不会加载该属性。
@ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = HDS_STRATEGY_INFO.DATAOBJECT_ID) @JsonIgnore public HdsDataobjectInfo getDataobject() { return dataobject; }
2.在po上增加@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler", "fieldHandler" })注解
由于前端需要使用该属性,便采用了第二种配置。
为了避免再次出现这个问题,建议在写PO类时直接加上该属性。
参考 :http://blog.sina.com.cn/s/blog_534f69a00101gj9s.html
http://blog.sina.com.cn/s/blog_667ac0360102ed3f.html
相关推荐
01. 采用后台及前台的 Spring + Spring mvc + Hibernate + Bootstrap 02. 后台全注解式的开发(除了必要的spring和hibernate的xml配置以外) 03. 后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04...
包括spring、springmvc、hibernate开发所需全部jar包,项目中正常使用的。还包括json等jar。总之所有jar包都在此,供你下载。
自己做的项目,基于spring mvc框架,整合了hibernate较新版本,以及需要用到的json包还有用到ueditor前端富文本编辑器的包,十分给力。。组这个包还是花了不少时间。如有问题,欢迎留言交流
bootstrap、ajax、json、spring mvc、spring、hibernate 项目实战源码
bootstrap、ajax、json、spring mvc、spring、hibernate 项目实战源码;有任何不懂的技术问题都可以联系我共同讨论
springmvc,mybaitis json jar包Spring各jar包详解spring.jar 是包含有完整发布模块的单个jar 包。但是不包括mock.jar,aspects.jar, spring-portlet.jar, and spring-hibernate2.jar。 spring-src.zip就是所有的源...
通过maven搭建的spring-mvc+hibernate+druil的框架所有已经配置OK里面也有例子很简单的。
本资源包含了企业级开发ssh(Spring+SpringMVC+Hibernate)的所有的jar包,应该是最齐全的了,其中还有日志,json,等jar包。
完整项目代码!可以学到spring mvc spring maven quartz jquery ajax json 等多种技术
1. spring杂谈[原创] 1.1 Spring事务处理时自我调用的解决方案及一些实现方式的风险 ...1.32 Spring3 Web MVC下的数据类型转换(第一篇)——《跟我学Spring3 Web MVC》抢先看 1.33 Spring 注入集合类型
而今天我们要做的一个demo是一个简化的HRMS(人力资源管理系统),在SSH上因为Spring本身有自己的MVC框架实现,所以我们用它来代替struts,在Ajax上我们采用两大框架组件extjs和dwr,前者可以做出非常炫目的页面效果,...
自己搭建的简单的Spring + Spring MVC + Mybatis框架 功能比较简单但是比较实用 初学者适用 需项目使用的请自行添加功能 集成功能 1.提供分页参数自动查询总数 2.实体校验(hibernate-validator) 3.单用户登录(监听...
数据库和配置MySQL 飞路(用于数据迁移) GradleTomcat吉特Google Book API 后端技术JavaSpring MVC,Spring AOP,Spring Security Hibernate ORM,Hibernate Validator,Hibenrate Search(Lucene) 翻新,JSON ...
- Spring MVC - Spring Data - Spring Security - Spring Cloud 4. Web开发: - HTML、CSS、JavaScript - HTTP协议 - Servlet、JSP - AJAX、JSON、XML 5. 框架和工具: - MyBatis - Hibernate - ...
后端:Java,SpringBoot,Spring MVC,JPA,Hibernate。数据传输器:XML,JSON。数据库:Mysql。版本控制:Git。构建工具:Maven。工具:SpringToolSuit,Mysql-Workbench,用于测试Restcontroller的Postman。 涵盖...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
这是一个Spring4.2.3+SpringMVC+Hibernate5.0.2整合后的Web Project,里面Jar包和配置文件齐全,下载下来即可投入开发(只需要配置Hibernate连接数据库的基本信息,项目下的readme.txt中提供了参考)。 整合详情请...
Picker的后台使用Spring MVC+hibernate+mysql,实现添加书籍,提问、做笔记,上传附件、照片,关注用户、关注问题,私信、好友动态,好友圈等功能。下面是功能交互图:#package介绍Controller层 .controller: 提供了...
以下是jar包列表 activation-1.1.jar ...spring-webmvc-3.1.1.RELEASE.jar standard-1.1.2.jar stax-api-1.0-2.jar transaction-api-1.1.jar validation-api-1.0.0.GA.jar xmemcached-1.3.7.jar xml-apis-1.0.b2.jar