公司目前项目是使用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
相关推荐
在本文中,我们将深入探讨如何将Spring MVC、Spring和Hibernate这三大流行框架整合在一起,以构建一个完整的登录实例。这个实例旨在提供一个清晰、简洁且易于理解的代码结构,帮助初学者快速上手。 首先,Spring ...
Spring MVC、Spring 和 Hibernate 是Java Web开发中的三大主流框架,它们各司其职,共同构建了一个强大而灵活的后端架构。Spring MVC 负责处理HTTP请求并将其路由到相应的控制器,Spring 提供了依赖注入(DI)和面向...
在Java企业级应用开发中,Spring、Spring MVC和Hibernate是三个非常重要的框架,它们共同构建了一个强大的后端开发体系。这个压缩包包含了这三个框架以及其他相关技术的jar包,确保了项目能够正常运行。 Spring框架...
01. 采用后台及前台的 Spring + Spring mvc + Hibernate + Bootstrap 02. 后台全注解式的开发(除了必要的spring和hibernate的xml配置以外) 03. 后台通过自定义注解结合一个访问拦截器实现整个系统的权限控制 04...
Spring、Hibernate、Spring MVC 和 Ajax 是四个在Java Web开发中广泛应用的技术框架,它们共同构建了一个高效、灵活且功能丰富的后端系统。以下是对这些技术及其整合应用的详细说明: Spring框架是一个全面的企业级...
结合以上技术,"struts2+spring+hibernate+jquery+json"的整合使用意味着开发一个完整的、高效的Web应用。Struts2负责处理HTTP请求并调用业务逻辑,Spring提供依赖管理和数据访问支持,Hibernate作为持久化层与...
在IT行业中,Spring MVC、Spring、Hibernate和JSON是四个至关重要的技术组件,它们共同构建了高效、...这些文件共同组成了一个基于Spring MVC、Spring、Hibernate和JSON的完整开发环境,帮助开发者快速搭建和运行项目。
标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...
Spring MVC和Hibernate是Java开发中两个非常重要的框架,它们分别用于构建Web应用程序的MVC(Model-View-Controller)架构和持久层管理。在实际项目中,将Spring MVC与Hibernate集成,可以创建出高效、可维护的Web...
在进销存管理系统中,EasyUI用于构建前端界面,通过JSON数据与后端Spring MVC和Hibernate交互,实现了数据的展示和用户交互。它的拖放布局和丰富的主题选择,使得开发者可以快速创建出符合业务需求的界面。 这个...
综上所述,"Maven+Spring MVC +Hibernate Validate"项目结合了多种强大技术,构建了一个高效、健壮的Web应用解决方案,涵盖了项目管理、服务端控制、数据持久化、数据验证、前端交互以及文件处理等多个方面。...
自己做的项目,基于spring mvc框架,整合了hibernate较新版本,以及需要用到的json包还有用到ueditor前端富文本编辑器的包,十分给力。。组这个包还是花了不少时间。如有问题,欢迎留言交流
这个项目案例对于初学者来说,是一个很好的实践平台,可以帮助理解Spring、Spring MVC、JPA和Hibernate之间的协作,以及如何在实际项目中应用这些技术。通过实际操作,可以加深对这些框架的理解,提升开发技能。
Spring、SpringMVC和Hibernate是Java开发中三大核心框架,它们的整合是企业级Web应用开发的常见实践。本文将详细解析这三个框架的核心概念、如何整合以及整合的意义。 首先,让我们了解一下Spring。Spring是一个...
在IT领域,尤其是在Web开发中,`bootstrap`、`ajax`、`json`、`spring mvc`、`spring`和`hibernate`是六个非常重要的技术组件,它们共同构建了一个高效、交互性强的Web应用程序。下面我们将逐一探讨这些技术的核心...
另外,Spring MVC与Spring框架的其他组件无缝集成,如Spring AOP(面向切面编程)用于实现日志、事务管理等功能,Spring JDBC和MyBatis等持久层框架用于数据库操作,以及Spring Data JPA、Hibernate等ORM工具,使得...
Spring MVC、Spring、Hibernate、Ajax 和 JSON 是五个关键的IT技术,它们在现代Web应用程序开发中扮演着重要的角色。下面将分别对这些技术进行详细解释,并结合它们在Web开发中的应用进行阐述。 **Spring MVC** ...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建Web应用程序提供了一种模型-视图-控制器(MVC)的架构模式。在Spring框架中,Spring MVC扮演着核心组件的角色,使得开发者能够更好地分离关注点,提高代码的...
接下来是Spring MVC,它是Spring框架的一个模块,专为构建Web应用程序而设计。Spring MVC提供了模型-视图-控制器架构模式,解耦了业务逻辑、数据和用户界面。它支持RESTful服务,可以方便地集成其他Spring组件,如...