/** * This method returns the supermost class of the class passed that is in the same package as * class * * @author aarti_sharma * @param objClass * @return */ public static Class getSupermostClassInPackage(Object obj) { Class objClass = obj.getClass(); Package objPackage = objClass.getPackage(); Logger.out.debug("Input Class: " + objClass.getName() + " Package:" + objPackage.getName()); PersistentClass persistentClass = cfg.getClassMapping(objClass); if (persistentClass != null && persistentClass.getSuperclass() != null) { Logger.out.debug( objPackage.getName() + " " + persistentClass.getName() + "*********" + persistentClass.getSuperclass().getMappedClass().getPackage().getName()); Logger.out.debug( "!!!!!!!!!!! " + persistentClass .getSuperclass() .getMappedClass() .getPackage() .getName() .equals(objPackage.getName())); do { persistentClass = persistentClass.getSuperclass(); } while (persistentClass != null); Logger.out.debug( "Supermost class in the same package:" + persistentClass.getMappedClass().getName()); } else { return objClass; } return persistentClass.getMappedClass(); }