在Spring中集成iBATIS中,如果orm的对象是一对多表时,会报NullPointerException. 这是因为ibatis在上一版本时,每次调用openSession时, 都会去localSqlMapSession中查找,如果没有才会打开个新的,而且会在返回前放入 localSqlMapSession中, 所以打开都是同一个session, 这被认为是一个BUG,所以在这个版本上改为返回一个新的session.而在这个session关闭时,才会 把这个session返回给sessionPool中, 而且也没有放回localSqlMapSession中.
而在spring中,在执行时,会设置新打开的session的setUserConnection方法. 因为新的session没有进入localSqlMapSession中,所以在打开一对多的表的子表时, iBATIS从sessionPool中得到一个没有被spring设置过setUserConnection的session,从而 Transaction trans = getTransaction(session);这里没有得到缺省的连接,那么 trans = autoStartTransaction(session, autoStart, trans);代码里就会去找这个session的txManager来启动一个事务,但txManager又是null,于是就会发出 nullpoint异常了.
这时关键就是session的txManager是什么时候设置的. 我们可以看一下spring的SqlMapClientFactoryBean的代码就会发现,只有设置了它的dataSource属性时,才会去设置 session的txManager, 所以这里就可以看出在一对多表时,SqlMapClientFactoryBean的dataSource属性一定要设置, 这样能保证在一对多时才不会出问题.
分享到:
相关推荐
我为学生留下空白,学生给我留下精彩
JS实现鼠标滑过图片慢慢变清晰离开依然留下残影的图片展示效果墙.zip
天空不曾留下我的足迹,但我曾飞过.pdf
留下黄雨桐
这家伙很懒什么没有留下
html css JavaScript 学习留下的代码html css JavaScript 学习留下的代码 html css JavaScript 学习留下的代码html css JavaScript 学习留下的代码 html css JavaScript 学习留下的代码html css JavaScript 学习留下...
2. 将桌面设置为自己创建的 PyQt 窗口的父窗口,窗口即可嵌入到桌面; 3. 在右下角菜单栏显示控制图标,可以嵌入和解锁窗口; 4. 解决在win7/win10/win11上窗口解锁恢复后桌面上会留下窗口痕迹的bug。
s扫描器,是别人入侵我电脑留下的,应该是有用的吧
1.CGCS2000下的大地坐标到CGCS2000下的空间直角坐标的转换; 2.CGCS2000下的空间直角坐标经过七参数转换,得到西安80下的...用户如果需要的话,可以直接在博客上留言或私信,留下邮箱,我会给发给你们的。 2019-09-16
2007版office转pdf插件,个人感觉非常好用,留下以后备用
把汉字转换为GB码,需要的下载吧,留下你宝贵的积分,谢谢。
android onecore依赖库 我只留下多文件下载功能
项目中遇到小数相似度(业务给过来是小数)需要web界面以百分数的形式表示,并且保留两位小数。 直接上代码。 var nval = 0.12345; var percent = (Math.round(nval*10000))/100+'%';...我看好多帖子都放在里面,那根
1、把WORD表格转换成EXCEL,只转换表格忽略其中的文字部分 2、把WORD表格都删除,只留下文字部分,不要担心删除原文件,有备份
coco2017转xml格式代码,并且手工挑选,去掉超级难度样本,留下精选样本列表 比如只有一只手,一只脚的样本; 剔除远处的超级样本,人体像素小于20个像素的超级小人体。 本人手工标注,花了3个周的时间,原创不易,...
最近想下载一点网页的资料,...自己用来将一些网页转换为pdf,还挺好用的,在此共享给大家使用,欢迎留下您的建议。博客地址:http://blog.csdn.net/gzshun。 由于上传的错误,这个版本才可以用,前一个是有问题的。
看看您的其他开发人员在哪里留下了他们的印记。 介绍 这是一个简单的Flutter应用程序,它使用颜色渐变显示文件的版本控制历史记录(非常规,注释)。 用户界面 在VCS中打开文本文件会根据编辑的最新程度高亮显示每一...
在北京工作的那两年,每一天都带给我无比的振奋,每一刻都给我留下了难忘的回忆。尤其是大学校园里的那些莘莘学子更是让我难以忘怀。曾记得清华园里的激情演讲,曾记得未名湖畔的尖峰对话。从南到北、从沿海到内地,...
姥姥留下的食疗偏方