object/src/main/java/com/orientechnologies/orient/core/entity/OEntityManager.java
public synchronized void deregisterEntityClasses(final String iPackageName, final ClassLoader iClassLoader) {
    OLogManager.instance().debug(this, "Discovering entity classes inside package: %s", iPackageName);

    List<Class<?>> classes = null;
    try {
      classes = OReflectionHelper.getClassesFor(iPackageName, iClassLoader);
    } catch (ClassNotFoundException e) {
      throw OException.wrapException(new ODatabaseException("Class cannot be found in package " + iPackageName), e);
    }
    for (Class<?> c : classes) {
      deregisterEntityClass(c);
    }

    if (OLogManager.instance().isDebugEnabled()) {
      for (Entry<String, Class<?>> entry : classHandler.getClassesEntrySet()) {
        OLogManager.instance().debug(this, "Unloaded entity class '%s' from: %s", entry.getKey(), entry.getValue());
      }
    }
  }
public synchronized void deregisterEntityClasses(final String iPackageName, final ClassLoader iClassLoader) {
    OLogManager.instance().debug(this, "Discovering entity classes inside package: %s", iPackageName);

    List<Class<?>> classes = null;
    try {
      classes = OReflectionHelper.getClassesFor(iPackageName, iClassLoader);
    } catch (ClassNotFoundException e) {
      throw OException.wrapException(new ODatabaseException("Class cannot be found in package " + iPackageName), e);
    }
    for (Class<?> c : classes) {
      deregisterEntityClass(c);
    }

    if (OLogManager.instance().isDebugEnabled()) {
      for (Entry<String, Class<?>> entry : classHandler.getClassesEntrySet()) {
        OLogManager.instance().debug(this, "Unloaded entity class '%s' from: %s", entry.getKey(), entry.getValue());
      }
    }
  }
Scans all classes accessible from the context class loader which belong to the given package and subpackages.

@param iPackageName
The base package