延迟加载时,Hibernate 返回一个HibernateProxy对象,而不是实体本身,造成instanceof 不可用。可以用下列方法判断:
Object proxyObj = (从Hibernate 取得延迟加载对象);
if (ProxyObj instanceof HibernateProxy) {
Object realEntity= ((HibernateProxy)proxyObj).getHibernateLazyInitializer().getImplementation() ;
//对target可以使用instanceof
if (realEntity instanceof MyRealEntity.class) {
}
}