Впервые перешел в спящий режим. Я использую 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 для прокси?
Итак, в итоге, главный вопрос, как я могу определить, есть ли у меня прокси или реальный объект, и связанный с этим вопрос о том, как интерпретировать Оператор выбора?
Я погрузился в документацию по спящему режиму, а также немного искал в Интернете, но большая часть информации, похоже, на шаг выше базовых знаний, которые мне не хватает, поэтому любая помощь приветствуется.