code: public EntityMetadata buildEntityMetadata(Class<?> clazz)
      {
  
          EntityMetadata metadata = new EntityMetadata(clazz);
        //  validate(clazz);
  
          if (log.isDebugEnabled())
              log.debug("Processing @Entity >> " + clazz);
  
          for (MetadataProcessor processor : metadataProcessors)
          {
              // // in case it is not intend for current persistence unit.
              // checkForRDBMS(metadata);
              // checkForNeo4J(metadata);
  
              setSchemaAndPU(clazz, metadata);
  
              processor.process(clazz, metadata);
              metadata = belongsToPersistenceUnit(metadata);
              if (metadata == null)
              {
                  break;
              }
  
              // Check for schema attribute of Table annotation.
              if (MetadataUtils.isSchemaAttributeRequired(metadata.getPersistenceUnit(), kunderaMetadata)
                      && StringUtils.isBlank(metadata.getSchema()))
              {
                  if (log.isErrorEnabled())
                  {
                      log.error("It is mandatory to specify Schema alongwith Table name:" + metadata.getTableName()
                              + ". This entity won't be persisted");
                  }
                  throw new InvalidEntityDefinitionException("It is mandatory to specify Schema alongwith Table name:"
                          + metadata.getTableName() + ". This entity won't be persisted");
              }
          }
  
          return metadata;
      }
docs: Process.
  
  @param clazz
  the clazz
  @param externalProperties
  @return the entity metadata