final DiscriminatorSource discriminatorSource = entitySource.getDiscriminatorSource();
if ( discriminatorSource == null ) {
return;
}
EntityDiscriminator discriminator = new EntityDiscriminator();
SimpleValue relationalValue = makeSimpleValue(
entityBinding,
discriminatorSource.getDiscriminatorRelationalValueSource()
);
discriminator.setBoundValue( relationalValue );
discriminator.getExplicitHibernateTypeDescriptor().setExplicitTypeName(
discriminatorSource.getExplicitHibernateTypeName() != null
? discriminatorSource.getExplicitHibernateTypeName()
: "string"
);
discriminator.setInserted( discriminatorSource.isInserted() );
discriminator.setForced( discriminatorSource.isForced() );
entityBinding.getHierarchyDetails().setEntityDiscriminator( discriminator );
entityBinding.setDiscriminatorMatchValue( entitySource.getDiscriminatorMatchValue() );
}