您的位置:首页 > 编程语言 > Java开发

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

2014-02-13 18:07 288 查看
对service层所有方法事务管理已配置,一下为一service层方法

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

/**
*通过LID查找教室
*@paramlid
*@return	教室信息
*/
publicSet<JsBean>findJsBeansbyLid(Longlid){
returnthis.lInt.findbyLid(lid).getJsBeans();
}
junit测试方法
	/**
*通过LID查找教室
*@paramlid
*@return
*/
publicvoidtestfindJsBeansbyLid(){
System.err.println(lServiceInt.findJsBeansbyLid(1L).size());
}

抛出异常sessionclose

把service修改为


publicSet<JsBean>findJsBeansbyLid(Longlid){
Set<JsBean>jsBeans=this.lInt.findbyLid(lid).getJsBeans();
System.err.println(jsBeans.size());
returnjsBeans;
}


不报错。

猜测是级联时,service层中必须调用内容时才获取,仅仅getJsBeans时不从数据库读取信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: