ssh+ext+jsonplugin能否取得关联信息

问题描述

ssh+ext使用jsonplugin-0.32.jar返回json格式,extends="json-default",type="json"单表OK,一对多关联时,是否可以取得相应关联对象信息?如:User与Role关联,获得用户user,是否可以同时取得关联的Role信息?JSON格式?THX!

解决方案

解决方案二:
<setname="testUsers"inverse="true"cascade="all"lazy="false"><key><columnname="role_id"not-null="true"/></key><one-to-manyclass="com.onlyfun.model.TestUser"/></set>SQL有发出,数据也能取得,转化成JSON时报错,如下:org.hibernate.LazyInitializationException:failedtolazilyinitializeacollectionofrole:com.onlyfun.model.User.role,nosessionorsessionwasclosed
解决方案三:
转化成json时,session关闭了?
解决方案四:
使用Jackson转化时也是一样的错。。。本地数据测试都是OK的,如下{"myBeans":[{"birthday":1291114593620,"age":10,"name":"name0"},{"birthday":1291114593620,"age":11,"name":"name1"}],"id":1}
解决方案五:
你实际数据查到的数据格式是什么样的?
解决方案六:
实际数据就是JAVABEAN,数据都对的。转化成JSON时报这个异常。无法转化对应的ROLE信息。SESSION关闭。
解决方案七:
我怀疑是类对象里还有一个对象,json无法转换
解决方案八:
你把代码贴出来吧,我不一定能解决,但别人看了可能会
解决方案九:
一对多时。无数据库交互时,是可以转化。与数据库交互时,报上面的异常。想在后台转化成JSON格式传至前台。单表的话也是可以的。关联时转化出现异常。不知道要如何解决。
解决方案十:
<setname="testUsers"inverse="true"cascade="all"not-fount="ignore"lazy="false">加上not-found试试呢
解决方案十一:
many-to-one里加not-fount="ignore"
解决方案十二:
SESSION关闭的原因
解决方案十三:
publicclassTestUserimplementsjava.io.Serializable{//FieldsprivateIntegeruserId;privateTestRoletestRole;privateStringuserName;privateDatebirthday;。。。}<hibernate-mapping><classname="com.onlyfun.model.TestUser"table="test_user"catalog="extfun"><idname="userId"type="java.lang.Integer"><columnname="user_id"/><generatorclass="native"/></id><many-to-onename="testRole"class="com.onlyfun.model.TestRole"fetch="select"><columnname="role_id"not-null="true"/></many-to-one>publicclassTestRoleimplementsjava.io.Serializable{//FieldsprivateIntegerroleId;privateStringroleName;privateSettestUsers=newHashSet(0);。。。}<classname="com.onlyfun.model.TestRole"table="test_role"lazy="false"catalog="extfun"><idname="roleId"type="java.lang.Integer"><columnname="role_id"/><generatorclass="native"/></id><propertyname="roleName"type="java.lang.String"><columnname="role_name"length="20"not-null="true"/></property><setname="testUsers"inverse="true"cascade="all"lazy="false"><key><columnname="role_id"not-null="true"/></key><one-to-manyclass="com.onlyfun.model.TestUser"/></set>DAO/***获得所有对象**@paramclazz*@return*/publicListgetObjects(Classclazz){returngetHibernateTemplate().loadAll(clazz);}测试类:publicvoidtest(){TestUserServicetestUserService=(TestUserService)applicationContext.getBean("testUserService");//获得testUserListList<TestUser>list=testUserService.findAllTestUser();if(list!=null&&list.size()>0){for(TestUseruser:list){System.out.println(user.getUserName()+"t"+user.getBirthday()+"t"+user.getUserName()+"t"+user.getTestRole().getRoleName()+"t"+user.getTestRole().getRoleId());//数据都有。。。}}PageVopageVo=newPageVo();pageVo.setList(list);//getinstanceObjectMappermapper=JacksonMapper.getInstance();//beantojsontry{StringWritersw=newStringWriter();JsonGeneratorgen;gen=newJsonFactory().createJsonGenerator(sw);mapper.writeValue(gen,pageVo);gen.close();Stringjson=sw.toString();//转化时报错。System.out.println(json);}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}

解决方案十四:
THX两位。not-fount="ignore"添加后还是一样的异常。SESSION关闭的原因请问有没什么解决办法呢。THX!
解决方案十五:
你这个我没写过我用的是JsonArray.fromObject(list)Stringjson="";json=JSONArray.fromObject(list).toString(1);System.out.println(json);out.print(json);

解决方案:
not-fount="ignore"我打错了是not-found="ignore"
解决方案:
我添加的也是not-found="ignore"试了是一样的错。jackson的方法,自已练习的时候学的。项目中用的是jsonplugin。但关联时都是一样的错。org.hibernate.LazyInitializationException:failedtolazilyinitializeacollectionofrole:com.onlyfun.model.User.role,nosessionorsessionwasclosed
解决方案:
首先你的List集合可以输出值,说明取值没问题其次可以报错,说明问题在try块里//beantojsontry{StringWritersw=newStringWriter();JsonGeneratorgen;gen=newJsonFactory().createJsonGenerator(sw);mapper.writeValue(gen,pageVo);gen.close();Stringjson=sw.toString();//转化时报错。System.out.println(json);}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}

再次,jsonplugin我没用过,不清楚工作原理,到底哪里涉及到session,我也不清楚.不如你自己写一个获取session的方法try开始打开finally关闭
解决方案:
<many-to-onename="testRole"class="com.onlyfun.model.TestRole"fetch="select">这里加上lazy="false"估计可以了吧,如果还不行,我也没什么办法了
解决方案:
该回复于2010-12-01 09:01:40被版主删除
解决方案:
在web里面配置<filter><filter-name>openSessionInViewFilter</filter-name><filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class></filter><filter-mapping><filter-name>openSessionInViewFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>试试

解决方案:
web.xml有加的。。<filter><filter-name>openSessionInViewFilter</filter-name><filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class></filter><filter-mapping><filter-name>openSessionInViewFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter><filter-name>testJackson</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>testJackson</filter-name><url-pattern>/*</url-pattern></filter-mapping><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param>

时间: 2024-11-03 02:35:04

ssh+ext+jsonplugin能否取得关联信息的相关文章

《人人都玩开心网:Ext JS+Android+SSH整合开发Web与移动SNS》样章下载

本文为原创,如需转载,请注明作者和出处,谢谢! 第1章:开发梦缘起开心网 第5章:开心桌面:完全模拟Windows桌面的开心网 第15章:移动电子相册:捕捉精彩瞬间 书中实例截图     前言      互联网的发展,就是一个不断上演奇迹的过程.10年前就开始在Internet上流行的Web应用,在见证了一个个奇迹之后,依然作为最主流的应用而雄霸 互联网.近几年,一个由国外风靡至国内的Web应用--SNS,再一次为举国上下的互联网普及大潮推波助澜.或许SNS听起来还有点陌生,但如果你连炙手 可热

基于SharePoint Portal Server 2003的微软企业门户加速信息搜索、提升员工效率

server|微软 Microsoft Customer Solution 成功案例   Case Study  基于SharePoint Portal Server 2003的微软企业门户加速信息搜索.提升员工效率   客户概况 业务需求 解决方案 客户收益 微软公司,位于Redmond Washington,业界领先的商用软件和技术方案供应商.从1985开始,Microsoft Web一直担负着帮助微软员工了解公司业务信息的重任. 知识网络小组需要确保其管理的Microsoft Web能够完

DB2信息追凶

综合信息关联 信息破案的重要部分就是数据线索的关联,美国 911 恐怖袭击后的嫌疑人分析就是利用信息线索关联实现快速破案.随着"金盾工程"的推进,逐步建成了八大信息资源库的综合资源数据库平台,这就有了信息线索关联分析的基础,同时也有迫切的需求. 公安的人口基本信息资源库.出入境人员资源库.机动车驾驶人信息资源库.警员基本信息资源库.在逃人员信息资源库.违法犯罪人员信息资源库.被盗抢汽车信息资源库.安全重点单位信息资源库包含了很多关联性分析,这些关联具有相应的扩展性. 我们先来看一个例子

注册表的文件关联及应用

喜欢使用Windows右键快捷菜单的朋友可能知道,当你选择了一个文件(或者是文件夹或是系统图标)再单击鼠标右键,系统就会弹出一个菜单,菜单上面的各种"功能"(或称"操作")任你选择,但是你是否注意到,当你安装一些应用软件之后,你的右键菜单是不是膨胀,以winzip为例,安装winzip之后,文件或文件夹的右键菜单当中就增加了功能选择项"Add to Zip"和"Add to xxx.zip",如图一,看到这个变化,我们不禁要问

Ubuntu 11下SSH无法免密码登录的问题

研究Hadoop过程中有一步需要用到SSH免密码登录 创建密钥之类的网上有很多基本上就是如下两条 创建密钥:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 追加授权:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 紧跟着,顺利的话,输入ssh localhost就可以顺利的免密码登录了,但是,我的失败了,折腾了一下午,才搞定 尝试的方法主要有将.ssh的权限设置为700,将.ssh下的authorized_key

Linux下SSH Session复制功能实现方法

  特别感谢阿干同学的邮件分享. 详细方法 代码如下: Linux/mac下,在$HOME/.ssh/config中加入 Host * ControlMaster auto ControlPath /tmp/ssh-%r@%h 至此只要第一次SSH登录输入密码,之后同个Hosts则免登. 配置文件分析 man ssh_config 5 代码如下: ControlPath Specify the path to the control socket used for connection shar

谁说数据库防火墙风险大?可能你还不知道应用关联防护

近年来,作为高效而直接的数据库防御工事,数据库防火墙已被越来越多的用户关注,应用在关键系统的数据库安全防护中,以保护核心数据资产安全.实现危险行为过滤,数据库防火墙必需串联部署,才能形成数据库的安全屏障.这要求其既要发挥抵御威胁行为的功能,同时又不能影响正常的应用访问,造成业务中断. 有人说:数据库防火墙风险大,一不小心你的应用就瘫痪了!真是这样吗? 事实上,满足如此严苛要求的关键在于如何实现精准的应用关联防护,能够在不中断业务访问的基础上,精准定位威胁行为并拦截,从而达到精确而无副作用的防护效

hibernate5(11)注解映射[3]一对多多对一双向关联

在上两篇文章里,我们详细地分别讲解了一对多和多对一的单向关联配置的具体属性含义,在这一篇文章里,我们完成两者的的整合建立双向关联. 在实际的博客网站中,我们可能需要根据文章读取作者(用户)信息,但肯定也要让用户能获取自己的文章信息,针对这种需求,我们可以建立文章(多)对用户(一)的双向关联映射. 下面先看实例映射配置文件: /********************一方配置User********************/ @Entity//声明当前类为hibernate映射到数据库中的实体类

数据库防火墙风险大?那是你还不知道应用关联防护

本文讲的是 数据库防火墙风险大?那是你还不知道应用关联防护,近年来,作为高效而直接的数据库防御工事,数据库防火墙已被越来越多的用户关注,应用在关键系统的数据库安全防护中,以保护核心数据资产安全.要实现危险行为的过滤,数据库防火墙必需串联部署,才能形成数据库的安全屏障.这要求其既要发挥抵御威胁行为的功能,同时又不能影响正常的应用访问,造成业务中断. 有人说:数据库防火墙风险大,一不小心你的应用就瘫痪了!真是这样吗? 事实上,满足如此严苛要求的关键在于如何实现精准的应用关联防护,能够在不中断业务访问