@SuppressWarnings("UnnecessaryUnboxing") public Set<Table> getIdentityTables() { Set<Table> tables = new HashSet<Table>(); Iterator iter = getSubclassClosureIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); if ( clazz.isAbstract() == null || !clazz.isAbstract().booleanValue() ) { tables.add( clazz.getIdentityTable() ); } } return tables; }
private Triple<Element, ExtendedPropertyMapper, String> generateInheritanceMappingData( PersistentClass pc, EntityXmlMappingData xmlMappingData, AuditTableData auditTableData, String inheritanceMappingType) { final String extendsEntityName = verEntCfg.getAuditEntityName( pc.getSuperclass().getEntityName() ); final Element classMapping = MetadataTools.createSubclassEntity( xmlMappingData.getMainXmlMapping(), inheritanceMappingType, auditTableData, extendsEntityName, pc.getDiscriminatorValue(), pc.isAbstract() ); // The id and revision type is already mapped in the parent // Getting the property mapper of the parent - when mapping properties, they need to be included final String parentEntityName = pc.getSuperclass().getEntityName(); final EntityConfiguration parentConfiguration = entitiesConfigurations.get( parentEntityName ); if ( parentConfiguration == null ) { throw new MappingException( "Entity '" + pc.getEntityName() + "' is audited, but its superclass: '" + parentEntityName + "' is not." ); } final ExtendedPropertyMapper parentPropertyMapper = parentConfiguration.getPropertyMapper(); final ExtendedPropertyMapper propertyMapper = new SubclassPropertyMapper( new MultiPropertyMapper(), parentPropertyMapper ); return Triple.make( classMapping, propertyMapper, parentEntityName ); }
@SuppressWarnings({"unchecked"}) private Triple<Element, ExtendedPropertyMapper, String> generateMappingData( PersistentClass pc, EntityXmlMappingData xmlMappingData, AuditTableData auditTableData, IdMappingData idMapper) { final Element classMapping = MetadataTools.createEntity( xmlMappingData.getMainXmlMapping(), auditTableData, pc.getDiscriminatorValue(), pc.isAbstract() ); final ExtendedPropertyMapper propertyMapper = new MultiPropertyMapper(); // Checking if there is a discriminator column if ( pc.getDiscriminator() != null ) { final Element discriminatorElement = classMapping.addElement( "discriminator" ); // Database column or SQL formula allowed to distinguish entity types MetadataTools.addColumnsOrFormulas( discriminatorElement, pc.getDiscriminator().getColumnIterator() ); discriminatorElement.addAttribute( "type", pc.getDiscriminator().getType().getName() ); } // Adding the id mapping classMapping.add( (Element) idMapper.getXmlMapping().clone() ); // Adding the "revision type" property addRevisionType( classMapping, classMapping ); addAdditionalColumns( classMapping ); return Triple.make( classMapping, propertyMapper, null ); }
); mutable = persistentClass.isMutable(); if ( persistentClass.isAbstract() == null ) { isAbstract = persistentClass.isAbstract().booleanValue(); if ( !isAbstract && persistentClass.hasPojoRepresentation() && ReflectHelper.isAbstractClass( persistentClass.getMappedClass() ) ) {
final boolean isAbstract = entityDescriptor.isAbstract() == null ? false : entityDescriptor.isAbstract(); final String subselect; final Identifier logicalTableName;
catalog, logicalName, persistentClass.isAbstract(), uniqueConstraints, null,
public void bindTable( String schema, String catalog, String tableName, List<UniqueConstraintHolder> uniqueConstraints, String constraints, Table denormalizedSuperclassTable) { EntityTableObjectNameSource tableNameContext = new EntityTableObjectNameSource( tableName, name ); EntityTableNamingStrategyHelper namingStrategyHelper = new EntityTableNamingStrategyHelper( name ); final Table table = TableBinder.buildAndFillTable( schema, catalog, tableNameContext, namingStrategyHelper, persistentClass.isAbstract(), uniqueConstraints, constraints, denormalizedSuperclassTable, mappings, this.subselect ); if ( persistentClass instanceof TableOwner ) { log.info( "Bind entity {} on table {}", persistentClass.getEntityName(), table.getName() ); ( (TableOwner) persistentClass ).setTable( table ); } else { throw new AssertionFailure( "binding a table for a subclass" ); } }
@SuppressWarnings("UnnecessaryUnboxing") public Set<MappedTable> getIdentityTables() { Set<MappedTable> tables = new HashSet<>(); Iterator iter = getSubclassClosureIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); if ( clazz.isAbstract() == null || !clazz.isAbstract().booleanValue() ) { tables.add( clazz.getIdentityTable() ); } } return tables; }
public Set getIdentityTables() { Set tables = new HashSet(); Iterator iter = getSubclassClosureIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); if ( clazz.isAbstract() == null || !clazz.isAbstract().booleanValue() ) tables.add( clazz.getIdentityTable() ); } return tables; }
public Set getIdentityTables() { Set tables = new HashSet(); Iterator iter = getSubclassClosureIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); if ( clazz.isAbstract() == null || !clazz.isAbstract().booleanValue() ) tables.add( clazz.getIdentityTable() ); } return tables; }
public Set getIdentityTables() { Set tables = new HashSet(); Iterator iter = getSubclassClosureIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); if ( clazz.isAbstract() == null || !clazz.isAbstract().booleanValue() ) tables.add( clazz.getIdentityTable() ); } return tables; }
public Set getIdentityTables() { Set tables = new HashSet(); Iterator iter = getSubclassClosureIterator(); while ( iter.hasNext() ) { PersistentClass clazz = (PersistentClass) iter.next(); if ( !clazz.isAbstract() ) tables.add( clazz.getIdentityTable() ); } return tables; }
private Triple<Element, ExtendedPropertyMapper, String> generateInheritanceMappingData( PersistentClass pc, EntityXmlMappingData xmlMappingData, AuditTableData auditTableData, String inheritanceMappingType) { final String extendsEntityName = options.getAuditEntityName( pc.getSuperclass().getEntityName() ); final Element classMapping = MetadataTools.createSubclassEntity( xmlMappingData.getMainXmlMapping(), inheritanceMappingType, auditTableData, extendsEntityName, pc.getDiscriminatorValue(), pc.isAbstract() ); // The id and revision type is already mapped in the parent // Getting the property mapper of the parent - when mapping properties, they need to be included final String parentEntityName = pc.getSuperclass().getEntityName(); final EntityConfiguration parentConfiguration = entitiesConfigurations.get( parentEntityName ); if ( parentConfiguration == null ) { throw new MappingException( "Entity '" + pc.getEntityName() + "' is audited, but its superclass: '" + parentEntityName + "' is not." ); } final ExtendedPropertyMapper parentPropertyMapper = parentConfiguration.getPropertyMapper(); final ExtendedPropertyMapper propertyMapper = new SubclassPropertyMapper( new MultiPropertyMapper(), parentPropertyMapper ); return Triple.make( classMapping, propertyMapper, parentEntityName ); }
isAbstract = persistentClass.isAbstract() || ( persistentClass.hasPojoRepresentation() && ReflectHelper.isAbstractClass( persistentClass.getMappedClass() )
tableNameContext, namingStrategyHelper, persistentClass.isAbstract(), uniqueConstraints, constraints,
tableNameContext, namingStrategyHelper, persistentClass.isAbstract(), uniqueConstraints, constraints,
final boolean isAbstract = entityDescriptor.isAbstract() == null ? false : entityDescriptor.isAbstract(); final String subselect; final Identifier logicalTableName;
); mutable = persistentClass.isMutable(); if ( persistentClass.isAbstract() == null ) { isAbstract = persistentClass.isAbstract().booleanValue(); if ( !isAbstract && persistentClass.hasPojoRepresentation() && ReflectHelper.isAbstractClass( persistentClass.getMappedClass() ) ) {
@SuppressWarnings({"unchecked"}) private Triple<Element, ExtendedPropertyMapper, String> generateMappingData( PersistentClass pc, EntityXmlMappingData xmlMappingData, AuditTableData auditTableData, IdMappingData idMapper) { final Element classMapping = MetadataTools.createEntity( xmlMappingData.getMainXmlMapping(), auditTableData, pc.getDiscriminatorValue(), pc.isAbstract() ); final ExtendedPropertyMapper propertyMapper = new MultiPropertyMapper(); // Checking if there is a discriminator column final ValueMapping discriminatorMapping = pc.getEntityMappingHierarchy().getDiscriminatorMapping(); if ( discriminatorMapping != null ) { final Element discriminatorElement = classMapping.addElement( "discriminator" ); // Database column or SQL formula allowed to distinguish entity types MetadataTools.addColumnsOrFormulas( discriminatorElement, discriminatorMapping.getMappedColumns() ); discriminatorElement.addAttribute( "type", discriminatorMapping.getJavaTypeMapping().getTypeName() ); } // Adding the id mapping classMapping.add( (Element) idMapper.getXmlMapping().clone() ); // Adding the "revision type" property addRevisionType( classMapping, classMapping ); addAdditionalColumns( classMapping ); return Triple.make( classMapping, propertyMapper, null ); }
catalog, logicalName, persistentClass.isAbstract(), uniqueConstraints, null,