EJB延迟加载例外解决方法

本文介绍了在EJB中遇到的延迟加载例外问题及其三种解决方案。包括调整@OneToMany的fetch策略为EAGER、提前访问多方属性集合以及使用join fetch进行查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

出现延时加载例外,原因是实体bean从业务bean方法返回时,session已经关闭,解决方案有3个 
第一:设置@OneToMany中的fetch=FetchType.EAGER 
第二:在业务方法返回Order前访问多方的属性集合,如下: 
   public Order getOrder(String orderid){ 
     Order order = em.find(Order.classs, orderid); 
      order.getOrderItems().size(); 
      return order; 
   } 
第三:使用join fetch查询: 
select o from Order o inner join fetch o.orderItems  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值