Frage

Ich versuche, in dem Griff zu bekommen, was winter unter der Haube tun, und ich bin mit p6spy als Proxy für die MySQL JDBC-Treiber, so kann ich sehen, was wirklich in die Datenbank gehen. Ich bin ein wenig durch die Ausgabe von p6spy verwechselt jedoch - dankbar für jedes Licht

!

Das Problem ist dies. Ich erstelle zwei neue Objekte der Klasse Test1, nämlich test1a und test1b. Die Ausgabe in meinem Logs ist wie folgt:

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||

kann ich zwei ‚Partie‘ Aussagen sehen, die vermutlich aus Anrufen an der jdbc addBatch api, aber was ist die ‚1274973057267 | 2 | 1 | Aussage‘ da? Es sieht aus wie der zweite Einsatz wird wiederholt immer, aber ich weiß, es ist nicht, oder ich würde drei Reihen in meiner db und nicht zwei, oder zumindest einen Fehler sehen.

Warum ich sehe ich die zweite Insert-Anweisung wiederholt?

Wenn ich ‚Partie‘ ausschließen in meinem spy.properties, ich sehe nur diese seltsame, gauner Linie.

Vielen Dank für jede Beleuchtung!

War es hilfreich?

Lösung

Ah - ich sehe das Problem, die aufgrund zu sein scheint, was ich zu sagen habe, ist eine ziemlich überraschende Design-Entscheidung in p6spy

.

Offenbar für batched Aussagen, wurde die Entscheidung getroffen Aussagen zu protokollieren, wie sie in den Ansatz gegeben werden und zeigt dann die letzte Anweisung ausgeführt wird, wenn der Ansatz tatsächlich ausgeführt wird! Sobald Sie feststellen, dass die wissen, was das Werkzeug der Fall ist, glaube, ich kann Sie verstehen, warum es da ist, aber es ist völlig verwirrend und kontraintuitiv, wenn Sie den Thread gelesen passieren hier haben:

http://sourceforge.net/projects/p6spy/forums / forum / 166969 / Thema / 666.877

Andere Tipps

* spy.propertie * s-Datei, die Standardeigenschaft von excludecategories ist [ info,debug,result,batch ], Sie können ausschließen, die batch Kategorie, dann werden Sie bekommen, was Sie wollen.

Das hintere Ende davon (513) sieht aus wie ein Teil des Zeitstempel alt text

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top