2009-10-22 4 views

Répondre

5

EDIT: Ma réponse originale fonctionne mais va initialiser des proxies unitalisées, ce qui peut être indésirable.

meilleure solution

boolean isHibernateEntity = sessionFactory.getClassMetadata(HibernateProxyHelper.getClassWithoutInitializingProxy(yourObject)) != null; 

réponse originale:

boolean isHibernateEntity = sessionFactory.getClassMetdata(Hibernate.getClass(yourObject)) != null; 
0

Et ici sans sessionFactory:

private boolean isEntityClass(Object o){ 
    if(o != null){ 
     Type[] interfaces = o.getClass().getGenericInterfaces(); 
     for(Type interf : interfaces) 
      if(interf.equals(HibernateProxy.class)) 
       return true; 
    } 
    return false; 
} 
Questions connexes