private static void extractJpaClassAnnotations(
     final Class<?> loadClass, final JpaClassModel classModel)
     throws IllegalAccessException, IllegalArgumentException, InvocationTargetException,
         NoSuchMethodException, SecurityException {
   classModel.setType(loadClass);
   classModel.setJpaEntityType(JpaEntityType.ENTITY);
   if (loadClass.isAnnotationPresent(MappedSuperclass.class)) {
     classModel.setJpaEntityType(JpaEntityType.MAPPED_SUPER_CLASS);
   } else if (loadClass.isAnnotationPresent(Table.class)) {
     classModel.setJpaEntityType(JpaEntityType.TABLE);
     // extract the table name
     Annotation annotation = loadClass.getAnnotation(Table.class);
     classModel.setTableName(
         String.valueOf(
             annotation
                 .annotationType()
                 .getDeclaredMethod("name")
                 .invoke(annotation, (Object[]) null)));
   }
 }