从Proxy对象中取消代理两次返回Java中的零声明字段

时间:2015-09-02 10:07:37

标签: java hibernate reflection proxy-classes

public static <T> T initializeAndUnproxy(T entity) {
    if (entity == null) {
        return null;
    }

    if (entity instanceof HibernateProxy) {
        Hibernate.initialize(entity);
        entity = (T) ((HibernateProxy) entity).getHibernateLazyInitializer().getImplementation();
    }
    return entity;
}

我在Emp对象内部Address对象内部AddressContact对象存在。 不知何故,我能够使用对象Address的反射获取声明字段,并检查Contact是否是代理对象,如果是,则使用上面的代码转换它们但不在声明字段中获取任何内容。< / p>

就像从转换后的代理对象转换代理对象给我零声明字段。

0 个答案:

没有答案