
hibernate 延迟加载问题 50
已经把lazy改成false了,而且在本机执行的时候都完全没有错,传到空间的时候结果报错了org.hibernate.LazyInitializationExceptio...
已经把lazy改成 false了, 而且在本机执行的时候都完全没有错,传到空间的时候结果报错了
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: org.jpxx.wallpaper.persistence.hbm.EndUser.questionItems, no session or session was closed
问一下有没有办法解决,这个和空间配置没什么关系吧 展开
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: org.jpxx.wallpaper.persistence.hbm.EndUser.questionItems, no session or session was closed
问一下有没有办法解决,这个和空间配置没什么关系吧 展开
1个回答
展开全部
使用Hibernate提供的延迟加载机制。这种初始化策略只在一个对象调用它的一对多或多对多关系时才将关系对象读取出来。这个过程对开发者来说是透明的,而且只进行了很少的数据库操作请求,因此会得到比较明显的性能提升。这项技术的一个缺陷是延迟加载技术要求一个Hibernate会话要在对象使用的时候一直开着。这会成为通过使用DAO模式将持久层抽象出来时的一个主要问题。为了将持久化机制完全地抽象出来,所有的数据库逻辑,包括打开或关闭会话,都不能在应用层出现。最常见的是,一些实现了简单接口的DAO实现类将数据库逻辑完全封装起来了。一种快速但是笨拙的解决方法是放弃DAO模式,将数据库连接逻辑加到应用层中来。这可能对一些小的应用程序有效,但是在大的系统中,这是一个严重的设计缺陷,妨碍了系统的可扩展性。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2025-08-05 广告
Paykka 从多个环节帮助用户节省时间,开户最快 1 个工作日完成,本地货币结算当日到账,提现更是几秒内就能完成。全流程都极大地缩短了时间成本,减少了用户的等待时间,提高了资金流转效率。...
点击进入详情页
本回答由paykka提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询