dubbo服务层HIbernate懒加载问题

dubbo服务层是hibernate,打成的是jar包。web端调用服务端时候报错org.hibernate.lazyinitalizationException:failed to lazily initialize a collection of role 在网上查询是在web.xml里面配置osessioninviewfilter ,在web端都是对外开放的服务,然后调用hibernate框架。配置了这个过滤器也不管用。有没有解决的方案?是不是dubbo不支持啊。

1

2个回答

1
tianjinshi12345
tianjinshi12345 感谢分享,已经解决了,采用在service层手动使用jackson序列化,然后返回字符串给调用者的方式。
大约一年之前 回复
-2
xhzq1986
莫扎特不唱摇篮曲 你看清楚别人的问题,再回复好吗?提问者明显已经知道了Hibernate懒加载处理策略,这里是 dubbo +Hibernate 遇到的问题
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用Dubbo调用Mybatis懒加载出现数据丢失--懒加载的数据无法加载
<association property="bankInfo" column="user_id" fetchType="eager" select="com.jrq.core.mapper.CustomerBankInfoMapper.getDefaultCardByUserId"> 添加fetchType="eager"属性 ,急加载
dubbo接口懒惰,惰性检查,懒加载,接口检查,服务检查
dubbo接口懒惰,惰性检查,懒加载,接口检查,服务检查.开启.启用,打开. 可以避免循环依赖的dubbo启动问题. A依赖B ,B依赖A. 关键接口检查check,懒加载机制
解决hibernate懒加载问题No session的问题
&amp;amp;lt;!-- 解决懒加载问题 --&amp;amp;gt; &amp;amp;lt;filter&amp;amp;gt; &amp;amp;lt;filter-name&amp;amp;gt;openSessionInViewFilter&amp;amp;lt;/filter-name&amp;amp;gt; &amp;amp;lt;filter-class&amp;amp;gt;org.springframework.orm.hibernate3.support.Open
基于dubbo和hibernate的例子
基于dubbo和hibernate的分层例子,并有一个dubbo client模拟消费者
hibernate懒加载(lazy加载)
所谓懒加载(lazy)就是延时加载,延迟加载。当两个及以上表使用hibernate来管理级联关系时,一个表被加载到jvm内存时,其相关表可以暂存在数据库的缓存中,当需要使用相关表数据时在加载到jvm内存中,通过懒加载机制可以减少内存中不必要的开销,以提高程序的性能。     需要注意的是,当使用懒加载时,如果将session关闭,则断开了与数据库的连接,此时如果要访问子表数据,由于子表数据是存放
懒加载session 无法打开 no session or session was closed 解决办法(完美解决)
  首先说明一下,hibernate的延迟加载特性(lazy)。所谓的延迟加载就是当真正需要查询数据时才执行数据加载操作。因为hibernate当中支持实体对象,外键会与实体对象关联起来。如果没有这一特性,当查询某一个含有外键的实体对象时,hibernate会把其他实体对象的数据都查询出来。简单的来说,当你想查询某个对象时,实际上调用了多条查询语句。有了延迟加载特性,就避免了这种情况的发生,当你真...
spring 懒加载与dubbo 客户端校验
Dubbo的启动时服务依赖检查是,对象实例化时,判断远程调用是否成功,对象是否能够实例化成功。 参数可配置。 若项目启动时,依赖的服务没有提供,则消费者也无法启动。 [img]http://dl2.iteye.com/upload/attachment/0120/1179/f5c57114-c6c1-3189-8db8-c3fc0eb2ba91.png[/img] 若spr...
懒加载异常解决办法
最近在做一个如图功能时加载数据就报ERROR DefaultDispatcherErrorHandler:42 - Exception occurred during processing request: org.hibernate       加载树形结构,使用关闭懒加载fetch=FetchType.EAGER 在数据库中取值的时候,如果使用懒加载,就会只取出一层节点的数据,然后关...
Hibernate懒加载问题解决
解决Hibernate:could not initialize proxy-no Session         出现的问题:不能初始化,没有session(session关闭)         在Hibernate中,中的lazy默认为proxy,这样hibernate在数据库中查询数据时不会把关联的对象查出来,而是保存一个获取该值的方法:getXxx(),当我们需要使用这个值的时候,也就
Hibernate懒加载异常的解决与深刻分析
出现原因:   Hibernate允许对关联对象及属性延迟加载,前提是这个操作在同一个Hibernate session范围内进行.如果发生这样的情况,当service层返回了一个启用延迟加载功能的domain对象给web层,而web层访问到这些需要延迟加载的对象或属性时,由于加载domain对象的session已经关闭导致无法访问,就会出现访问异常.   解决方法:   我们可以
hibernate懒加载异常解决方案.
懒加载异常处理方案.
什么是hibernate懒加载?什么时候用懒加载?为什么要用懒加载?懒加载解决方法
转自:https://www.cnblogs.com/cornucopia/articles/4541621.html转自:https://blog.csdn.net/qq_21033663/article/details/51236009总结:所谓懒加载(lazy)就是延时加载,延迟加载。什么时候用懒加载呢,我只能回答要用懒加载的时候就用懒加载。至于为什么要用懒加载呢,就是当我们要访问的数据量过...
spring中的懒加载与事务--排坑记录
案例描述本文主要描述了开发中常见的几个与spring懒加载和事务相关的案例,主要描述常见的使用场景,以及如何规避他们,给出具体的代码。 1. 在新的线程中,访问某个持久化对象的懒加载属性。 2. 在quartz定时任务中,访问某个持久化对象的懒加载属性。 3. 在dubbo,motan一类rpc框架中,远程调用时服务端session关闭的问题。上面三个案例,其实核心都是一个问题,就是牵扯到sp
Hibernate懒加载问题导致View层无法获取关联数据的问题
在controller中查询出了一个数据,数据关联了另外一个对象,在页面中用A.GETB().GETXXX()的方式的时候就会报错,因为是懒加载,默认的session已经关闭了。解决问题的方式有以下几种 1.最常用的方式,如果是SSH框架的话,可以这么用。在配置文件中加入以下内容 <!-- 使用spring解决懒加载问题 但是这种方法也是有缺点的,缺点就是延长了session关闭的时
解决dubbo中hessian序列化时Hibernate的延迟加载,以及Set,Map,List集合的解决方案...
一、问题: hibernate的延迟加载,导致序列化的时候会抛出Hibernate的LazyInitializationException. 还有就是hibernate的Map、List等会被转换为PersistentCollection对象,一般序列化框架没有针对此类的序列化方案。 二、主要应用场景 1、hibernate对象在缓存的时候,进行序列化操作 2、hibernate对...
使用Hibernate.initialize解决no session的延迟加载问题
出现no session or session was closed这样的异常不多解释了,网上已经一大堆。  但还是提不推荐把延迟加载特性去掉,而是必要时自己采取办法得到想要的对象。这样做更加灵活和效率高。虽然是避免不了一些代码量。  之前采取的方案是在session未关闭之前,把其他表对象查询出来并且clone。不过现在无意中发现其实hibernate其实已经提供初始化的方法了,而未必自己去
hibernate懒加载之No session扩大session作用范围
当使用hibernate框架时因为懒加载策略问题,session已经在service时关闭 ,在后面查询关联的内容将出现no session问题 ,这时我们需要将session延迟到页面处理完成后完成。       注意:必须在struts框架之前配置,因为在struts之后就已经将内容处理完成了,不会再经过OpenSessionInViewFilter过滤器。     ope
Hibernate懒加载问题
刚开始接触这种数据持久化框架时,使用的是Maybatis,相较于最原始的JDBC+SQL模式,Maybatis简直就是神器,特别是在用过Maybatis动态SQL后,简直就开始对Maybatis爱不释手。后来工作要求,又接触到了Hibernate,刚入手时,还是很不适应的,感觉这个持久化框架已近偏离传统的SQL模式,一切都只能重新学习。用过一段时间Hibernate后才发现了它的便利性。 之前问...
Hibernate懒加载常见问题及解决方案
Hibernate延时加载,因为这个问题抛出的异常其实写的非常之清楚,就是会话关闭,没有会话对象,无法对Hibernate的实体进行操作。造成这样的情况有很多,但是就此说最近在做的一个SSH项目所遇到的懒加载的问题。
关于spring整合hibernate 懒加载异常解决方案
最近在做spring整合hibernate的项目,把hibernate的事物交给spring管理,但是在懒加载的时候出现的在懒加载时候session的时候这个时候已经关闭了,导致懒加载异常,这个时候本着有事找百度的态度,在百度上搜索全都是一样的,在web.xml或者在spring MVC中配置懒加载信息,而且在百度上的都是一样的,后来看了一下官方文档,在hibernate配置内加一句话就行了,真心
Dubbo高级篇_08_Dubbo服务启动依赖检查
启动时检查 (+) (#) Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true。 如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null
Hibernate懒加载急加载我们需要注意的问题
1、显而易见的概念懒加载——也被称为延迟加载,它在查询的时候不会立刻访问数据库,而是返回代理对象,当真正去使用对象的时候才会访问数据库。急加载——就是只要我们实体做了关联,全部一次性执行完所有的SQL语句2、@OneToMany ****默认为懒加载**** @Test public void find(){ Session s= sessionFactory.
解决Hibernate懒加载的4种方式
http://blog.csdn.net/huhui_cs/article/details/8589977 本文总结了我在学习hibernate的过程中,解决hibernate懒加载问题的四种方式。 懒加载简述:当我们查询一个对象的时候,在默认情况下,返回的只是该对象的代理对象,当用户去使用该对象的属性时,才会向数据库再一次发出查询语句。 例如,有一个对象是Employee,
Dubbo延迟暴露
如果你的 服务需要warmup事件,比如初始化缓存,等待先关资源就位等,可以使用deplay进行延迟暴露。 延迟5秒暴露服务<dubbo:service delay="5000">延迟到spring初始化完成后,再暴露服务:<dubbo: service delay="-1">
Hibernate延迟加载和session绑定,获取和事务
Hibernate延迟加载: 在session关闭之前先获取需要查询的数据,可以使用工具方法Hibernate.isInitialized()判断对象是否被加载,如果没有被加载则可以使用Hibernate.initialize()方法加载对象。 使用拦截器或过滤器延长Session的生命周期直到视图获得数据。Spring整合Hibernate提供的OpenSessionInViewFilter...
Dubbo延迟连接
延迟连接,用于减少长连接数,当有调用发起时,再创建长连接。<dubbo:service name="dubbo" lazy="true">
hibernate懒加载session关闭不能用。
今日工作内容:改写仓库管理系统懒加载出现取里面的数据的时候session关闭之后不能用的情况,解决:取消懒加载      延长session的时长      自己封装json数组,不用的不取。明日计划:继续完成仓库管理系统...
Hibernate懒加载对象在session.close()后为空
Hibernate查询的结果集对象其实是一个代理对象(可以使用getClass()验证)。 在session调用close()方法前,该对象是持久化状态的,是受session管理的,当开启懒加载后,当我们要访问该查询对象的某个懒加载对象属性时,session会帮我们去查询,当我们的对象离开session的托管时,那个懒加载的对象属性就为空了。 一般解决思路:使用DTO对象作为传输对象,即不把e
关于Hibernate懒加载问题的最终解决方案
Hibernate的强大之处之一是懒加载功能,可以有效的降低数据库访问次数和内存使用量。但用的不好就会出现org.hibernate.LazyInitializationException。 这个异常出现的原因很简单,主要时在加载懒数据时Session已经关闭造成的,如下图:   那么OK,我们来考虑怎么解决吧。 我们只要在渲染JSP之前不要关闭Session,而在
JPA/hibernate懒加载原理分析及JSON格式API反序列化时连环触发懒加载问题的解决
       什么是懒加载        JPA是java持久层的API,也就是java官方提供的一个ORM框架,Spring data jpa是spring基于hibernate开发的一个JPA框架。Spring data jpa提供了大量的数据库操作接口,以及采用动态代理的方式做的以接口方法命名的数据库操作方式,大大简化了开发人员对数据库操作的代码。它对于简单的查询操作非常简便,但是一旦涉及...
浅谈解决Hibernate懒加载的4种方式
这篇文章是我在学习hibernate的懒加载时整理的资料,主要介绍了解决Hibernate懒加载的4种方式,具有一定借鉴价值,需要的朋友可以参考下。  本文总结了我在学习hibernate的过程中,解决hibernate懒加载问题的四种方式。 所谓懒加载(lazy)就是延时加载,延迟加载。 什么时候用懒加载呢,我只能回答要用懒加载的时候就用懒加载。 至于为什么要用懒加载呢,就是当我们要...
jackson关于json序列化与hibernate懒加载冲突
一开始用jpa加上jackson自动转换对象为json数据 前台用vue觉得很方便然后做分页的时候,发现查询一个对象,会这个对象关联的表都查询一遍,这样就会太慢,然后关联表也会出问题。网上看了一些方法 把OneToMany对象设置懒加载 把ManyToOn对象设置EAGER 然后我返回对象的时候发现还是查询了一对多的表比如客户表下面有OneToMany对应的联系人表 和 OneToMany对应的合...
解决因为hibernate的懒加载引起的json 序列化失败的问题
在使用hibernate的过程中,  对于某些关联的属性对象 有进行懒加载的操作,   这时如果存在懒加载的对象,进行json序列化的时候,会报错。 可以使用一个过滤器,进行 过滤不需要被序列化的属性,主要是应用于Hibernate的代理和管理。 代码如下 package com.lazyant.util; import org.hibernate.collection.sp
Json lib 对于hibernate的懒加载的存在问题的解决方法
1.Hsession 2.
hibernate的懒加载(延迟加载)问题
hibernate的懒加载(延迟加载)问题 我们在开发的时候经常会遇到延迟加载的问题,在实体映射中多对一和多对多中,多的一方的属性默认是lazy=”true”(即,默认是延迟加载)。 如: 延迟记载表现在:如,我们要查询id为2的部门数据,但是有许多用户数据的部门外键是id为2,我们在查询的时候,由于默认lazy=”true”(懒加载),所以是不会查询部门外键为2
Hibernate懒加载导致json数据对象传输异常的问题---(非常重要)
1. 异常: [console_demo][WARN] [2016-12-15 19:49:35] org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver.handleHttpMessageNotWritable(407) | Failed to write HTTP message: org.spr
hibernate懒加载解决方式之一
hibernate的懒加载有多种解决方式,这里是我使用的其中一种。 hibernate版本:5.2.9.FINAL 场景:有一个记录用户信息的user表,还有一个部门表department,user表里有一个外键字段department_id 对应department表的id,表示该用户所在的部门。因此hibernate的实体类中,User类有一个成员变量是department。 在DAO类
通过一道面试题来引入Hibernate之懒加载
前言先来看看面试题: Hibernate中get和load方法的区别? 答:相同点:都是通过主键查询的方法。session.get(User.class,1);session.load(User.class,1); 不同点: get: 及时加载,只要调用get方法立刻向数据库查询,,执行sql语句。 load:默认使用懒加载,当用到数据的时候才向数据库查询。 相当于做了一层优化。懒加载:(
hibernate笔记: 关于懒加载和load()方法之三
最近面试别人,正好出的笔试题中有道关于Hibernate延迟加载的问题,聊天过程中发现很多人对Hibernate的延迟加载有些理解误区,写些东东在这里,希望对大家有所帮助。 首先是第一个误区:延迟加载只能作用于关联实体 看到这个是不是在想:非关联实体延迟加载有什么用? 为了解答上面这个问题,我们可以先考虑另一个问题:Hibernate Session的get和load方法有什么区别?
Hibernate中什么是懒加载异常?该怎么处理懒加载异常?
首先看一下什么是懒加载: 所谓懒加载(lazy)就是延时加载,延迟加载。 什么时候用懒加载呢,我只能回答要用懒加载的时候就用懒加载。 至于为什么要用懒加载呢,就是当我们要访问的数据量过大时,明显用缓存不太合适, 因为内存容量有限 ,为了减少并发量,减少系统资源的消耗, 我们让数据在需要的时候才进行加载,这时我们就用到了懒加载。 比如部门ENTITY和员工ENTITY,部门与员工
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 dubbo学习 java 大数据基础层