Nuevo para hibernar aquí. Estoy usando Hibernate 3.5, que entiendo debería usar la recuperación lenta de forma predeterminada. He habilitado el registro de SQL a través de¿cómo puedo determinar si hibernate ha 'cargado' el proxy o el objeto real?
<property name="show_sql">true</property>
estoy solicitando objeto A que tiene una referencia al objeto B, que sostiene la matriz de bytes de los datos reales. Introduje los datos en el objeto B para que no se obtengan los datos del DB a menos que realmente los necesite, pero cuando solicito el objeto A, el montón salta drásticamente, como si de todos modos se obtuviera la información, y obtengo esta salida de la hibernación el registro de SQL:
Hibernate: select attachment0_.id as id11_0_, attachment0_.data as data11_0_ from attachment_data attachment0_ where attachment0_.id=?
estoy claro sobre cómo interpretar esto, en concreto el 'como' declaración. El 'attachment0.data' parece ser la matriz de bytes en el objeto B. ¿Hibernate dice que se ha creado un proxy para la matriz, o es esto decir que en realidad se extrajeron los datos de la base de datos? Si se acaba de crear un proxy, ¿no vería ninguna salida de selección para el proxy?
Así que, en resumen, ¿la pregunta principal de cómo puedo determinar si tengo un proxy u objeto real, y la pregunta relacionada de cómo interpretar la instrucción select?
He buceado en los documentos de hibernación, así como en la web un poco, pero la mayoría de la información parece estar un paso por encima del conocimiento básico que me falta, por lo que cualquier ayuda es apreciada.
attachment_data es la mesa asignada a objeto A u objeto B? –