`
xiang04551ran
  • 浏览: 5754 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

json的持久化与hibernate的延迟加载之间的冲突

阅读更多
1.hibernate的session已关闭问题:
是因为hibernate延迟加载导致的,解决办法:
a.使用spring提供的opensessioninview功能,在web.xml中做相应的配置;注意在执行sql语句时一定要用spring封装的API,如getHibernateTemplate().find()。
b.在相应的bean映射文件中配置layz=false。
c.在dao中使用Hibernate.initialize()方法。
2.用json时出现数据定位不正确和内存溢出问题:
数据定位不正确的原因是hibernate延迟加载时生成了临时属性,而json在序列化bean是会将所有属性都序列化,导致出现该问题;而内存溢出是因为hibernate映射关系级联查询链太长或出现循环导致json在序列化是占用了大量内存。解决办法为在bean中把不需要序列化的属性(一般为所有set类型的属性,即存在外键关系的属性)的getter方法加上@JSON(serialize=false)让json不序列化这些属性。
分享到:
评论

相关推荐

    【北大青鸟内部教程】jsp中关于Hibernate延时加载的问题

    6. **JSON序列化**:当将对象序列化为JSON时,如果对象包含延时加载的属性,序列化过程可能会触发不必要的数据库查询。为了避免这种情况,可以使用JSON库的定制配置或在序列化前手动加载关联数据。 在实践中,理解...

    three.js加载json三维模型.zip

    本主题将深入探讨如何使用Three.js加载JSON格式的三维模型,以及与BIM(建筑信息模型)相关的应用。 一、Three.js基础 Three.js是基于WebGL的开源库,它允许开发者在网页中创建交互式的3D场景。WebGL是一种...

    json格式化工具win版

    6. **导出与导入**:将格式化的JSON保存为文件,或加载已有的JSON文件进行查看和编辑。 7. **代码折叠**:对于嵌套层次深的JSON对象和数组,可以折叠部分结构以减小视觉复杂性。 8. **自动完成**:在编辑JSON时提供...

    ios-本地数据持久化JSON格式(自己封装好的类) 易懂好用.zip

    本压缩包“ios-本地数据持久化JSON格式(自己封装好的类) 易懂好用.zip”提供了一个自封装的类——JGGchijiuhua,用于简化JSON格式的数据持久化操作。下面将详细讲解数据持久化的基本概念、JSON的使用以及如何利用...

    JSON.rar_JSON Hibernate_extjs_json struts ext_jsp json extjs_str

    在处理CRUD(创建、读取、更新、删除)操作时,JSON可以用于在Hibernate的持久化对象和客户端之间传输数据,减少了对XML或自定义格式的依赖。 Struts2是Java Web开发中的一个MVC(模型-视图-控制器)框架,它提供了...

    html读取json数据百度地图api加载json数据加载marker图标

    html读取json数据百度地图api加载json数据加载marker图标

    delphi_JSON序列化反序列化

    本篇将深入探讨Delphi中的JSON序列化和反序列化技术。 一、JSON简介 JSON是一种独立于语言的数据表示格式,它基于ECMAScript的一个子集。一个有效的JSON对象通常包含键值对(key-value pairs)的集合,数组或其他...

    C++ JSON 序列化与反序列化

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。在C++中,处理JSON通常需要借助第三方库,因为C++标准库并不内置对JSON的支持。本篇文章将深入探讨C++中JSON的...

    spring json dwr struts2.0 hibernate整合

    Hibernate是一个流行的对象关系映射(ORM)框架,用于简化Java应用程序与数据库之间的交互。在这个项目中,使用的是Hibernate3.0,它允许开发者将Java对象映射到数据库表,从而无需编写大量的SQL代码。 3. **...

    Vue加载json文件的方法简单示例

    本文实例讲述了Vue加载json文件的方法。分享给大家供大家参考,具体如下: 一、在build/dev-server.js文件里 var app = express() 这句代码后面添加如下(旧版): var appData = require('../address.json'); // ...

    json.js 与jquery冲突解决

    在JavaScript中,JSON主要用于序列化和解析数据对象,使得数据可以在客户端和服务器之间进行传输。例如,`JSON.parse()`用于将一个JSON字符串转换为JavaScript对象,而`JSON.stringify()`则将JavaScript对象转换为...

    consul(windows下持久化)

    4. **持久化配置**:为了保证配置文件的持久化,你需要将 `config.json` 文件保存在非易失性存储中,例如,不是临时文件夹或者只存在于内存中的位置。同时,如果使用的是 GUI 工具进行配置修改,确保这些修改会被...

    离线json格式化工具

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。它基于JavaScript语法,但独立于语言,具有易读性好、编写和解析速度快的特点。离线JSON格式化工具是...

    Editplus JSON格式化插件.zip

    **EditPlus JSON格式化插件**是一款专为提升开发者在使用**EditPlus**文本编辑器时处理JSON数据效率而设计的实用工具。EditPlus是一款功能强大的文本编辑器,广泛用于编写代码、HTML、PHP、Java等,但它原生并不具备...

    bootstrap-table动态加载json数据并且支持分页

    Bootstrap Table是一种...本主题主要关注如何在Bootstrap Table中动态加载JSON数据并实现分页功能。 首先,我们需要理解Bootstrap Table的基本结构。一个基本的Bootstrap Table可以通过以下HTML代码创建: ```html ...

    Mac版json格式化工具

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它基于JavaScript的一个子集,但语法简单明了,易于人类阅读和编写,同时也易于机器解析和生成。在处理JSON...

    Json反序列化

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。反序列化是将JSON格式的字符串转换为程序可直接使用的对象的过程,这对于处理网络请求返回的数据至关重要。在...

    json离线格式化工具

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它基于JavaScript的一个子集,但语法简单,易于人类阅读和编写,同时也易于机器解析和生成。在处理大量JSON...

    Json可视化工具

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传输数据。它基于JavaScript的一个子集,具有易读易写的特点,无论是人类还是机器都能轻松解析和生成。JSON格式通常用于...

    json格式化工具

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它基于JavaScript的一个子集,但设计目标是尽可能简洁、易于读写,同时也易于机器解析和生成。JSON格式通常...

Global site tag (gtag.js) - Google Analytics