在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属性一定要设置, 这样能保证在一对多时才不会出问题.
分享到:
相关推荐
当然它会给你留下深刻的印象的。 28.贝塞尔曲面 这是一课关于数学运算的,没有别的内容了。来,有信心就看看它吧。 29.Blitter 函数 类似于DirectDraw的blit函数,过时的技术,我们有实现了它。它非常的...
当然它会给你留下深刻的印象的。 28.贝塞尔曲面 这是一课关于数学运算的,没有别的内容了。来,有信心就看看它吧。 29.Blitter 函数 类似于DirectDraw的blit函数,过时的技术,我们有实现了它。它非常的简单,...
1. 语文学习方法:本文件是沪教版三年级语文上册的一个同步练习,涉及看月食这一主题,旨在帮助学生通过阅读理解、拼音、词语搭配、造句等练习来提升语文能力。 2. 拼音:文件中的拼音练习包括“mù gùn lián dā...
: 待办事项:•使用预处理标志和主持OpenGL调用将OpenGLES移植回OpenGL•添加用于切换选项的用户界面•创建用于输入自定义行为的用户界面•创建简化的Scipt处理器供用户输入行为脚本从头开始慢慢建立物理学。...
1. **爱情的短暂与永恒**:第一段文字中提到“刻下爱的见证的小树,已长成大树”,暗示了时间的流逝和感情的变迁,曾经热烈的恋情可能随着时间变得淡漠,甚至留下伤痕。 2. **独立与渴望**:“他总是拒绝别人的帮助...
例如,“太阳升起”扩展为“金色的太阳从东方地平线上慢慢地升起”。扩句时需注意保持原句的基本意思不变,避免堆砌重复信息或导致语义混乱。 2. **缩句**:缩句则是删去句子中的非核心成分,留下主干,以理解句子...
- 微笑接听,即使对方看不到,微笑的声音会传递积极的态度。 - 注意接听姿势,保持坐姿端正,有助于声音稳定。 - 使用5W1H技巧记录通话细节,即Who(谁)、What(什么事)、When(何时)、Where(何地)、Why...
它包含一系列的幻灯片,用户可以通过添加文字、图片、图表、动画等多种元素来表达自己的观点。而“墨水墨迹喷溅效果”则是其中一种创新的设计风格,旨在通过抽象的艺术手法,体现出现代、时尚且不失艺术感的视觉效果...
- **句式结构**:“随着社会的发展,人们开始关注……”、“求职的过程中,人们慢慢意识到面试的重要性。” - **作用**:展开具体的论点或观点。 - **适用场景**:用于支持文章主题的具体论据。 #### 过渡句 - **...
6. 加热操作:试管可以直接加热,但加热液体时,试管口不可对向自己或他人,以防溅出。加热固体时,试管口应稍向下倾斜,防止冷凝水回流。使用酒精灯加热前,试管应先预热,避免局部受热导致破裂。 7. 仪器连接:...
- **解读**: 幸福并非一蹴而就的结果,而是通过日常的点滴积累慢慢构建起来的。这句话鼓励我们重视生活中的每一刻,并为之付出努力。 3. **我们不停地翻弄着回忆,却再也找不回那时的自己** - **解读**: 这句话...
- `t.penup()`/`t.pendown()`:抬起或放下“画笔”,决定是否在屏幕上留下线条。 - `t.color(r, g, b)`:设置turtle的线条颜色,参数为RGB值。 - `t.begin_fill()`/`t.end_fill()`:开始填充颜色,用于绘制封闭...
- 松动主轴电机固定螺栓,放松皮带使其与皮带轮分离,移除主轴锥孔端面的锁紧螺丝,将主轴慢慢降至支撑物上,完成主轴的拆卸。 **主轴解体与清洗** - **解体**:解体过程中要注意保护部件,尤其是关键部位,如四瓣...
同时,医用棉签可以用来夹住镜头纸,提供额外的长度以触及摄像头的内部组件,避免在清洁过程中留下可能影响图像质量的纤维。 清洁过程应轻柔进行,避免施加过多压力。沿着镜头的自然曲线移动包有镜头纸的棉签,以...
开启葡萄酒时,需要先去除热缩帽和瓶口的灰尘,然后用酒钻旋转插入软木塞,慢慢拉出。起泡酒和香槟的开启需更为谨慎,以免瓶内的气体压力导致软木塞飞出。老酒的木塞脆弱,可能需要特殊技巧处理。 合适的酒杯通常是...
1. 拼音写作:文档中提到的"一看拼音写词语"是小学语文教学中的常见练习,旨在让学生根据拼音正确书写汉字。这部分练习涵盖了“kuāyào”(夸耀)、“fēnfù”(吩咐)、“déyì”(得意)、“yángyáng”(洋洋...
灌粉前,先摇匀碳粉瓶,打开瓶盖,移除灌粉口的小盖子,慢慢倒入碳粉。注意灌粉过程要小心,防止碳粉溢出或泄漏,这可能导致后续使用时的漏粉问题。 灌粉完成后,重新组装硒鼓。关键在于保护鼓芯,避免直接接触,以...
- 可逆过程是指系统可以完全恢复到初始状态,不留下任何痕迹的过程,通常伴随着微小的熵增。 - 非静态过程不一定是不可逆的,但所有的不可逆过程都不是静态的。例如,缓慢加热空气使其升温是可逆的,而迅速膨胀的...
12. 杯里放一枚硬币,眼睛刚好看不见(如图 2 所示)保持眼睛和杯子的位置不变,慢慢向杯中注水,下列说法正确的是:A.随着水的增多,眼睛能看到硬币,但位置比实际位置高。 知识点:折射,光学,视觉 13. 在下列...
12. **缓降机使用**:取出缓降机,连接挂钩,挂于固定架,系好安全索,调整绳索,面向墙壁慢慢下降,落地后迅速解开安全索,以便下一位使用。 13. **避免火烟危害**:用湿毛巾捂住口鼻,降低身体,沿着墙壁边缘逃生...