spring事务管理时一个奇怪的问题,已解决,原理不明

对service层所有方法事务管理已配置,一下为一service层方法

其中this.lInt.findbyLid(lid)的返回值类型与JsBean为one-to-many级联。此方法通过ont-to-many查找字表信息

	/**
	 * 通过LID查找教室
	 * @param lid
	 * @return	教室信息
	 */
	public Set<JsBean> findJsBeansbyLid(Long lid) {
		return this.lInt.findbyLid(lid).getJsBeans();
	}

junit测试方法

 
	/**
	 * 通过LID查找教室
	 * @param lid
	 * @return
	 */
	public void testfindJsBeansbyLid() {
		System.err.println(lServiceInt.findJsBeansbyLid(1L).size());
	}

抛出异常session close

 

把service修改为

 
public Set<JsBean> findJsBeansbyLid(Long lid) {
		Set<JsBean> jsBeans = this.lInt.findbyLid(lid).getJsBeans();
		System.err.println(jsBeans.size());
		return jsBeans;
	}


不报错。

 

猜测是级联时,service层中必须调用内容时才获取,仅仅getJsBeans时不从数据库读取信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值