यह संभव है कि आपके प्रश्नों को फिर से लिखा जा रहा हो, लेकिन हाइबरनेट एसक्यूएल लॉग को देखकर आपको पता नहीं चलेगा। हाइबरनेट इन्सर्ट स्टेटमेंट को फिर से नहीं लिखता - MySQL ड्राइवर उन्हें फिर से लिखता है। दूसरे शब्दों में, हाइबरनेट ड्राइवर को कई इंसर्ट स्टेटमेंट भेजेगा, और फिर ड्राइवर उन्हें फिर से लिखेगा। तो हाइबरनेट लॉग केवल आपको दिखाते हैं कि SQL हाइबरनेट ने ड्राइवर को क्या भेजा, न कि ड्राइवर ने डेटाबेस को कौन सा SQL भेजा।
आप कनेक्शन url में MySQL के profileSQL पैरामीटर को सक्षम करके इसे सत्यापित कर सकते हैं:
<b:property name="jdbcUrl" value="jdbc:mysql://server:3306/db?autoReconnect=true&rewriteBatchedStatements=true&profileSQL=true" />
आपके जैसे उदाहरण का उपयोग करते हुए, मेरा आउटपुट इस तरह दिखता है:
insert into Person (firstName, lastName, id) values (?, ?, ?)
insert into Person (firstName, lastName, id) values (?, ?, ?)
insert into Person (firstName, lastName, id) values (?, ?, ?)
insert into Person (firstName, lastName, id) values (?, ?, ?)
insert into Person (firstName, lastName, id) values (?, ?, ?)
insert into Person (firstName, lastName, id) values (?, ?, ?)
insert into Person (firstName, lastName, id) values (?, ?, ?)
insert into Person (firstName, lastName, id) values (?, ?, ?)
insert into Person (firstName, lastName, id) values (?, ?, ?)
insert into Person (firstName, lastName, id) values (?, ?, ?)
Wed Feb 05 13:29:52 MST 2014 INFO: Profiler Event: [QUERY] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) duration: 1 ms, connection-id: 81, statement-id: 33, resultset-id: 0, message: insert into Person (firstName, lastName, id) values ('person1', 'Name', 1),('person2', 'Name', 2),('person3', 'Name', 3),('person4', 'Name', 4),('person5', 'Name', 5),('person6', 'Name', 6),('person7', 'Name', 7),('person8', 'Name', 8),('person9', 'Name', 9),('person10', 'Name', 10)
हाइबरनेट द्वारा पहली 10 पंक्तियों को लॉग किया जा रहा है, हालांकि यह वास्तव में MySQL डेटाबेस को नहीं भेजा जा रहा है। अंतिम पंक्ति MySQL ड्राइवर से आ रही है और यह स्पष्ट रूप से कई मानों के साथ एकल बैच इंसर्ट दिखाता है और यही वास्तव में MySQL डेटाबेस को भेजा जा रहा है।