Я лениво загружаю объект из спящего режима, используя следующую строку кода
Object object = session.load(Class.forName(javaType), objectId);
Если я печатаю object.getClass().getSimpleName()
, он отображает имя прокси-сервера hibernate, а не мой класс реализации, как ожидалось.
Однако, если я затем использую отражение на этом прокси-объекте, чтобы возвратить атрибут с именем children следующим образом:
List children = (List) object.getClass().getMethod("getChildren", new Class[ {}).invoke(object, new Object[]{});
Возвращает список объектов, где object.getClass().getSimpleName()
для любого из объектов возвращает имя класса реализации. Почему эти объекты не возвращают имя прокси-объекта?