как я могу определить, был ли спящий режим «ленивым» загружал прокси или реальный объект?

Впервые перешел в спящий режим. Я использую Hibernate 3.5, который, как я понимаю, по умолчанию должен использовать ленивую выборку. У меня включено ведение журнала SQL через

<property name="show_sql">true</property>

. Я запрашиваю объект A, у которого есть ссылка на объект B, который содержит фактический массив байтов данных. Я поместил данные в объект B, чтобы данные не извлекались из БД, если это действительно не нужно, но когда я запрашиваю объект A, куча резко подскакивает, как если бы он все равно получил данные, и я получаю этот вывод из спящего режима Ведение журнала SQL:

Hibernate: select attachment0_.id as id11_0_, attachment0_.data as data11_0_ from attachment_data attachment0_ where attachment0_.id=?

Я не понимаю, как интерпретировать это, в частности, оператор «as». «Attachment0.data» кажется байтовым массивом в объекте B. Говорит ли спящий режим, что он создал прокси для массива, или он действительно извлекает данные из БД? Если бы он просто создал прокси, не увижу ли я вывода select для прокси?

Итак, в итоге, главный вопрос, как я могу определить, есть ли у меня прокси или реальный объект, и связанный с этим вопрос о том, как интерпретировать Оператор выбора?

Я погрузился в документацию по спящему режиму, а также немного искал в Интернете, но большая часть информации, похоже, на шаг выше базовых знаний, которые мне не хватает, поэтому любая помощь приветствуется.

5
задан spiffly 18 March 2011 в 10:09
поделиться