首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

P6SPY打印insert话语不全

2012-08-19 
P6SPY打印insert语句不全?很偶然的,发现在整合SpringSide3的Hibernate时,执行类似?entityDao.save(entity1

P6SPY打印insert语句不全?

很偶然的,发现在整合SpringSide3的Hibernate时,执行类似

?

entityDao.save(entity1);entityDao.save(entity2);

?

?代码,P6SPY的抓取SQL,只记录了一条insert语句。

一度以为是我改造的P6SPY版本有问题,

今天再研究这个问题时,发现当日志级别为debug时,出现了AbstractBatch这个类,于是我怀疑,Hibernate在session提交时的dirty check阶段会只能判断一个entity的save情况,大于一次的就使用批量插入来加快效率。

但是P6SPY这个框架可能对jdbc的批量更新没有做完善,导致只记录了最后一次插入的sql。

最后使用jdbcTemplate.batchUpdate()方法证实了这个想法。

再次记录一下,也算解决了困扰多时的一个问题,虽然并不是非常重要。

要彻底解决的话,还要系统的看P6SPY的源代码,暂时没有这个精力。

?

另:话说P6SPY自从2005年发布了1.3版后就停止更新了,不过我很“神奇”的发现github上有一个叫P6SPY的项目,而作者就是patmoore,版本到了2.0-SNAPSHOT?噢。

热点排行