[发明专利]解决Hessian导致hibernate不兼容的方法有效
申请号: | 201711194169.5 | 申请日: | 2017-11-24 |
公开(公告)号: | CN107967328B | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 李波;岳永胜;孙小波 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/2453 |
代理公司: | 四川省成都市天策商标专利事务所 51213 | 代理人: | 谭德兵 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 解决 hessian 导致 hibernate 兼容 方法 | ||
本发明公开了一种解决Hessian导致hibernate不兼容的方法,包括:将一个对象传入并进行过滤;判断所述步骤1中的对象是否为常规的对象,在所述对象为常规对象的情况下,则不进行遍历;再判断所述对象是否属于集合对象,如果是集合对象,则把它的集合内容遍历出来,然后再递归;递归的时候,需要判断是否有死循环;在具体的过滤类里面,判断是否是Entity.class,如果是的话,就需要替换里面的集合元素;替换集合里面的内容,把内容替换后,hessian就不会报错了。本发明解决了Hessian序列化时,对hibernate中@OneToMany对应关系超过7条导致的session关闭异常的问题,以及易于实用,性能稳定。
技术领域
本发明涉及分布式云计算平台技术领域,具体涉及使用DUBBO框架实现分布式方面的一种用于解决Hessian导致hibernate不兼容的方法。
背景技术
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
发明内容
本发明克服了现有技术的不足,提供一种解决Hessian导致hibernate不兼容的方法,用于解决Hessian序列化时,对hibernate中@OneToMany对应关系超过7条导致的session异常的技术问题。
考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:
一种解决Hessian导致hibernate不兼容的方法,包括:
步骤1:将一个对象传入并进行过滤;
步骤2:判断所述步骤1中的对象是否为常规的对象,在所述对象为常规对象的情况下,则不进行遍历;
步骤3:再判断所述对象是否属于集合对象,如果是集合对象,则把它的集合内容遍历出来,然后再递归;
步骤4:递归的时候,需要判断是否有死循环,如果有死循环且死循环超过一定次数,则循环失效;
步骤5:在具体的过滤类里面,判断是否是Entity.class,如果是的话,就需要替换里面的集合元素;
步骤6:替换集合里面的内容,把内容替换后,hessian就不会报错了。
为了更好地实现本发明,进一步的技术方案是:
根据本发明的一个实施方案,所述步骤2中的对象为String、Integer的情况下,则不需要遍历。
根据本发明的另一个实施方案,所述步骤4中,在死循环次数超过9次的情况下,则循环失效。
与现有技术相比,本发明的有益效果之一是:
本发明的一种解决Hessian导致hibernate不兼容的方法,解决了Hessian序列化时,对hibernate中@OneToMany对应关系超过7条导致的session关闭异常的问题;本发明适用范围为分布式环境中使用hessian序列化的地方,适用于dubbo集群;方便了开发人员,易于实用,性能稳定。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711194169.5/2.html,转载请声明来源钻瓜专利网。