延迟加载时,Hibernate 返回一个HibernateProxy对象,而不是实体本身,造成instanceof 不可用。可以用下列方法判断:
1 Object proxyObj = (从Hibernate 取得延迟加载对象)
2 if (ProxyObj instanceof HibernateProxy) {
3 Object realEntity= ((HibernateProxy)proxyObj).getHibernateLazyInitializer().getImplementation() ;
4 //对target可以使用instanceof
5 if (realEntity instanceof MyRealEntity.class) {
6
7 }
8 }
注意:以上代码尚未经过实际上机测试.
======================================
以上代码现已测试通过