p6spy执行日志中的不解

Diablo.Wu 发布于 2010/12/21 15:25
阅读 1K+
收藏 2

用p6spy监控了一下hibernate执行sql,发现每次都有两个一样的sql在执行,如下:

 

03:16:07,751|15|9|statement|update Score set c=...[sql1]
03:16:07,751|15|10|statement|update Score set c...[sql1] 
03:16:07,751|0|9|statement|update Bro set... [sql2]
03:16:07,751|0|10|statement|update Bro set...[sql2]
03:16:07,767|16|9|commit||
03:16:07,767|16|10|commit||

每次执行都会执行两个sql,分别为sql1和sql2,但是日志里却打印了两次,而且commit也是两个,但是连接号也是两个,分别是9和10,不知道这是回事,是配置的问题还是hibernate的问题?

加载中
0
小编辑
小编辑

应该是代码调用的问题吧,可以在执行点打印一个堆栈出来看看

new Exception().printStackTrace();

0
Diablo.Wu
Diablo.Wu

引用来自#2楼“小编辑”的帖子

应该是代码调用的问题吧,可以在执行点打印一个堆栈出来看看

new Exception().printStackTrace();

应该不是,眼睁睁的看着就一句hql。。。

0
ddatsh
ddatsh

如果我没记错的话

spy.properties 里把一个记录什么东东的参数 设置一下,就不会重复了

非常久没用我忘了,晚上还没人给出答案我给你看去

P6SPY 的源码,其实最好是需要修改下的

0
Diablo.Wu
Diablo.Wu

引用来自#4楼“dd”的帖子

如果我没记错的话

spy.properties 里把一个记录什么东东的参数 设置一下,就不会重复了

非常久没用我忘了,晚上还没人给出答案我给你看去

P6SPY 的源码,其实最好是需要修改下的

看了下oracle的sql执行情况,应该是p6spy重复输出而不是执行了两次,我把配置文件属性试他一遍!

0
Diablo.Wu
Diablo.Wu

useprefix    设置成true就成了,这个加前缀跟我这问题有毛关系啊。。。郁闷了。。。

0
ddatsh
ddatsh

有个精简过的 P6SPY

还有个另外的 貌似叫SQLDSLOG的 功能更强大

最近我会发一篇关于记录SQL的文的

我在以前公司的时候还整合了一个格式化SQL语句的SQLINFORM在P6SPY :)

返回顶部
顶部