code: public Entity buildEntity(EntityConfig entityConfig) {
          Entity entity = applicationContext.getBean(Entity.class);
          entityConfigFactory.applyFallBacks(entityConfig);
          entity.setEntityConfig(entityConfig);
  
          Table table = getTableStrict(entityConfig);
          if (table.getType() == TableType.VIEW) {
              entity.setView(true);
          }
          entity.setTable(table);
  
          namerDefault(entity);
          namerExtension(entity, config.getCelerio().getConfiguration());
  
          if (entityConfig.hasInheritance()) {
              if (entityConfig.is(JOINED)) {
                  buildEntityInvolvedWithJoinedInheritance(entityConfig, entity);
              } else if (entityConfig.is(SINGLE_TABLE)) {
                  buildEntityInvolvedWithSingleTableInheritance(entityConfig, entity);
              } else if (entityConfig.is(TABLE_PER_CLASS)) {
                  buildEntityInvolvedWithTablePerClassInheritance(entityConfig, entity);
              } else {
                  throw new IllegalStateException("An inheritance strategy should have been found in entity (or its ancestor) " + entityConfig.getEntityName());
              }
          } else {
              buildSimpleEntity(entityConfig, entity);
          }
          return entity;
      }
docs: -------------------------------------------