首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hibernate p6spy问题

hibernate p6spy问题
EN

Stack Overflow用户
提问于 2010-05-27 23:24:15
回答 3查看 1.5K关注 0票数 5

我正在尝试了解hibernate在幕后做了什么,我使用p6spy作为mysql jdbc驱动程序的代理,这样我就可以看到数据库的真正内容。不过,我对p6spy的输出有点困惑--感谢您的帮助!

问题是这样的。我正在创建Test1类的两个新对象,即test1a和test1b。my logs中的输出如下:

代码语言:javascript
复制
Hibernate: 
    /* insert com.play.hibernate1.Test1
        */ insert 
        into
            Test1
            (name, value, id) 
        values
            (?, ?, ?)
1274973057265|1|1|batch|/* insert com.play.hibernate1.Test1 */ insert into Test1 (name, value, id) values (?, ?, ?)|/* insert com.play.hibernate1.Test1 */ insert into Test1 (name, value, id) values ('Test 1', 10, 5)
Hibernate: 
    /* insert com.play.hibernate1.Test1
        */ insert 
        into
            Test1
            (name, value, id) 
        values
            (?, ?, ?)
1274973057265|0|1|batch|/* insert com.play.hibernate1.Test1 */ insert into Test1 (name, value, id) values (?, ?, ?)|/* insert com.play.hibernate1.Test1 */ insert into Test1 (name, value, id) values ('Test 2', 20, 6)
1274973057267|2|1|statement|/* insert com.play.hibernate1.Test1 */ insert into Test1 (name, value, id) values (?, ?, ?)|/* insert com.play.hibernate1.Test1 */ insert into Test1 (name, value, id) values ('Test 2', 20, 6)
1274973057268|0|1|commit||

我可以看到两个“批处理”语句,大概来自对jdbc addBatch api的调用,但是'1274973057267|2|1|statement‘在那里做什么呢?看起来第二次插入正在重复,但我知道不是这样的,否则我会在数据库中看到3行,而不是2行,或者至少是一个错误。

为什么我看到第二个insert语句重复?

如果我在spy.properties中排除了'batch‘,我只会看到这个奇怪的、无赖的代码行。

感谢您的启发!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-27 23:33:17

啊-我看到这个问题了,这似乎是由于我不得不说的是p6spy中一个相当令人惊讶的设计决定。

显然,对于批处理语句,决定在将语句添加到批处理时记录这些语句,然后显示在实际执行批处理时执行的最后一条语句!一旦你知道这就是这个工具的作用,我想你就能理解为什么它会在那里,但它是完全令人困惑和违反直觉的,除非你碰巧读过这里的主题:

http://sourceforge.net/projects/p6spy/forums/forum/166969/topic/666877

票数 4
EN

Stack Overflow用户

发布于 2013-01-09 18:23:14

spy.properties文件中,excludecategories的默认属性是[info,debug,result,batch],你可以排除batch类别,然后你就会得到你想要的。

票数 3
EN

Stack Overflow用户

发布于 2010-12-15 23:32:37

它的尾部(513)看起来像是时间戳的一部分

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2922443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档