对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时不从数据库读取信息。