延遲加載時,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 }
注意:以上代碼尚未經過實際上機測試.
======================================
以上代碼現已測試通過