2
我使用的代码 Object object = session.load(Class.forName(javaType), objectId);
Hibernate的对象和Java反射
以下行加载懒洋洋地从休眠状态的对象。如果我打印object.getClass().getSimpleName()
它显示休眠代理的名称,而不是我的实现类如预期。
但是如果我再使用这个代理对象上反射如下返回的属性叫孩子: List children = (List) object.getClass().getMethod("getChildren", new Class[ {}).invoke(object, new Object[]{});
它返回对象的列表,其中object.getClass().getSimpleName()
上的任何对象返回实现类的名称。为什么这些对象不返回代理对象名称?