Вопрос

Я пытаюсь присматривать с тем, что делает Hibernate под капотом, и я использую P6SPY в качестве прокси для драйвера MySQL JDBC, чтобы я мог видеть, что действительно идет в базу данных. Я немного запутался на выходе из P6SPY, однако - благодарна за любой свет!

Проблема в том, что это. Я создаю два новых объекта Class Test1, а именно Test1a и Test1b. Выход в моих журналах выглядит следующим образом:

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

Я вижу два «партии» утверждения, по-видимому, от вызовов на API JDBC ADDBatch, но что такое «1274973057267 | 2 | 1 | заявление» Похоже, вторая вставка повторяется, но я знаю, что это не так или я увижу 3 строки в моей БД, а не два, или, по крайней мере, ошибка.

Почему я вижу второй оператор вставки повторяется?

Если я исключу «партию» в моих шпионах.

Спасибо за любое освещение!

Это было полезно?

Решение

Ах - я вижу проблему, которая, кажется, из-за того, что я должен сказать, это довольно удивительное решение о дизайне в P6SPY.

По-видимому, для дозированных утверждений, было принято решение о регистрации операторов, поскольку они добавляются к партии, а затем показать последнее утверждение, выполненное при фактическом выполнении пакета! Как только вы знаете, что это то, что делает инструмент, я думаю, вы можете понять, почему он там, но он полностью сбивает с толку и противоитакости, если вы не прочитали резьбу здесь:

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

Другие советы

В файле * Spy.propertie * s, свойство по умолчанию excludecategories является [info,debug,result,batch], Вы можете исключить batch Категория, тогда вы получите то, что вы хотите.

Хвостовой конец IT (513) выглядит как часть метки времени alt text

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top