private EntityType introspectEntityType(Class type, EntityType parentType) throws SQLException { getInternalEntityConfig(type, _annotationCfg); Entity entityAnn = (Entity) _annotationCfg.getAnnotation(); EntityConfig entityConfig = _annotationCfg.getEntityConfig(); boolean isEntity = !_annotationCfg.isNull(); if (!isEntity) return null; EntityType entityType; String typeName; if (entityConfig != null) typeName = entityConfig.getClassName(); else typeName = entityAnn.name(); // Validates the type String entityName; Inheritance inheritanceAnn = null; InheritanceConfig inheritanceConfig = null; Class rootClass = type; Entity rootEntityAnn = null; EntityConfig rootEntityConfig = null; validateType(type, true); // jpa/0ge2 // if (hasInheritance) { if (entityConfig == null) entityName = entityAnn.name(); else { entityName = entityConfig.getClassName(); int p = entityName.lastIndexOf('.'); if (p > 0) entityName = entityName.substring(p + 1); } if ((entityName == null) || "".equals(entityName)) { entityName = type.getSimpleName(); } entityType = _persistenceUnit.createEntity(entityName, type); _configManager.addType(type, new EntityConfig(type.getName(), this, entityType)); boolean isField = isField(type, entityConfig, false); if (isField) entityType.setFieldAccess(true); return entityType; }
private EntityType introspectMappedType(Class type, EntityType parentType) throws SQLException { EntityType entityType; boolean isMappedSuperclass = false; MappedSuperclass mappedSuperAnn = null; MappedSuperclassConfig mappedSuperConfig = null; String typeName; MappedSuperclassConfig mappedSuperOrEntityConfig = null; getInternalMappedSuperclassConfig(type, _annotationCfg); mappedSuperAnn = (MappedSuperclass) _annotationCfg.getAnnotation(); mappedSuperConfig = _annotationCfg.getMappedSuperclassConfig(); isMappedSuperclass = !_annotationCfg.isNull(); if (!isMappedSuperclass) return null; mappedSuperOrEntityConfig = mappedSuperConfig; if (mappedSuperConfig != null) typeName = mappedSuperConfig.getClassName(); /* else typeName = mappedSuperAnn.name(); */ // Validates the type String entityName; Inheritance inheritanceAnn = null; InheritanceConfig inheritanceConfig = null; Class rootClass = type; Entity rootEntityAnn = null; EntityConfig rootEntityConfig = null; validateType(type, false); // jpa/0ge2 // if (hasInheritance) { if (mappedSuperConfig == null) entityName = null; // mappedSuperAnn.name(); else { entityName = mappedSuperConfig.getSimpleClassName(); } if ((entityName == null) || "".equals(entityName)) { entityName = type.getSimpleName(); } entityType = _persistenceUnit.createMappedSuperclass(entityName, type); _configManager.addType(type, new EntityConfig(type.getName(), this, entityType)); boolean isField = isField(type, mappedSuperOrEntityConfig, false); if (isField) entityType.setFieldAccess(true); // jpa/0ge2 entityType.setInstanceClassName(type.getName() + "__ResinExt"); entityType.setEnhanced(true); return entityType; }