private void bindJoinedSubclassEntities( AbstractEntitySourceImpl entitySource, PersistentClass superEntityDescriptor) { for ( IdentifiableTypeSource subType : entitySource.getSubTypes() ) { final JoinedSubclass subEntityDescriptor = new JoinedSubclass( superEntityDescriptor, metadataBuildingContext ); bindJoinedSubclassEntity( (JoinedSubclassEntitySourceImpl) subType, subEntityDescriptor ); superEntityDescriptor.addSubclass( subEntityDescriptor ); entitySource.getLocalMetadataBuildingContext().getMetadataCollector().addEntityBinding( subEntityDescriptor ); } }
private void bindDiscriminatorSubclassEntities( AbstractEntitySourceImpl entitySource, PersistentClass superEntityDescriptor) { for ( IdentifiableTypeSource subType : entitySource.getSubTypes() ) { final SingleTableSubclass subEntityDescriptor = new SingleTableSubclass( superEntityDescriptor, metadataBuildingContext ); bindDiscriminatorSubclassEntity( (SubclassEntitySourceImpl) subType, subEntityDescriptor ); superEntityDescriptor.addSubclass( subEntityDescriptor ); entitySource.getLocalMetadataBuildingContext().getMetadataCollector().addEntityBinding( subEntityDescriptor ); } }
private void bindUnionSubclassEntities( EntitySource entitySource, PersistentClass superEntityDescriptor) { for ( IdentifiableTypeSource subType : entitySource.getSubTypes() ) { final UnionSubclass subEntityDescriptor = new UnionSubclass( superEntityDescriptor, metadataBuildingContext ); bindUnionSubclassEntity( (SubclassEntitySourceImpl) subType, subEntityDescriptor ); superEntityDescriptor.addSubclass( subEntityDescriptor ); entitySource.getLocalMetadataBuildingContext().getMetadataCollector().addEntityBinding( subEntityDescriptor ); } }
public void bindEntityHierarchy(EntityHierarchySourceImpl hierarchySource) { final RootClass rootEntityDescriptor = new RootClass( metadataBuildingContext ); bindRootEntity( hierarchySource, rootEntityDescriptor ); hierarchySource.getRoot() .getLocalMetadataBuildingContext() .getMetadataCollector() .addEntityBinding( rootEntityDescriptor ); switch ( hierarchySource.getHierarchyInheritanceType() ) { case NO_INHERITANCE: { // nothing to do break; } case DISCRIMINATED: { bindDiscriminatorSubclassEntities( hierarchySource.getRoot(), rootEntityDescriptor ); break; } case JOINED: { bindJoinedSubclassEntities( hierarchySource.getRoot(), rootEntityDescriptor ); break; } case UNION: { bindUnionSubclassEntities( hierarchySource.getRoot(), rootEntityDescriptor ); break; } } }
context.getMetadataCollector().addEntityBinding( persistentClass );
private void bindUnionSubclassEntities( EntitySource superEntitySource, PersistentClass superEntityMapping) { for ( IdentifiableTypeSource subTypeSource : superEntitySource.getSubTypes() ) { final UnionSubclass subEntityDescriptor = new UnionSubclass( superEntityMapping, metadataBuildingContext ); bindUnionSubclassEntity( (SubclassEntitySourceImpl) subTypeSource, subEntityDescriptor ); superEntityMapping.addSubclass( subEntityDescriptor ); superEntitySource.getLocalMetadataBuildingContext().getMetadataCollector().addEntityBinding( subEntityDescriptor ); } }
private void bindDiscriminatorSubclassEntities( AbstractEntitySourceImpl superEntitySource, PersistentClass superEntityDescriptor) { for ( IdentifiableTypeSource subTypeSource : superEntitySource.getSubTypes() ) { final SingleTableSubclass subEntityDescriptor = new SingleTableSubclass( superEntityDescriptor, metadataBuildingContext ); bindDiscriminatorSubclassEntity( (SubclassEntitySourceImpl) subTypeSource, subEntityDescriptor ); superEntityDescriptor.addSubclass( subEntityDescriptor ); superEntitySource.getLocalMetadataBuildingContext().getMetadataCollector().addEntityBinding( subEntityDescriptor ); } }
private void bindJoinedSubclassEntities( AbstractEntitySourceImpl superEntitySource, PersistentClass superEntityDescriptor) { for ( IdentifiableTypeSource subTypeSource : superEntitySource.getSubTypes() ) { final JoinedSubclass subEntityDescriptor = new JoinedSubclass( superEntityDescriptor, metadataBuildingContext ); bindJoinedSubclassEntity( (JoinedSubclassEntitySourceImpl) subTypeSource, subEntityDescriptor ); superEntityDescriptor.addSubclass( subEntityDescriptor ); superEntitySource.getLocalMetadataBuildingContext().getMetadataCollector().addEntityBinding( subEntityDescriptor ); } }
rc.setTable(table); try { metadataCollector.addEntityBinding(rc); } catch(DuplicateMappingException dme) {
rc.setTable(table); try { metadataCollector.addEntityBinding(rc); } catch(DuplicateMappingException dme) {
public void bindEntityHierarchy(EntityHierarchySourceImpl hierarchySource) { final RootClass rootEntityDescriptor = new RootClass( metadataBuildingContext ); bindRootEntity( hierarchySource, rootEntityDescriptor ); final InFlightMetadataCollector metadataCollector = hierarchySource.getRoot() .getLocalMetadataBuildingContext() .getMetadataCollector(); metadataCollector.addEntityBinding( rootEntityDescriptor ); metadataCollector.addEntityMappingHierarchy( rootEntityDescriptor.getEntityMappingHierarchy() ); switch ( hierarchySource.getHierarchyInheritanceType() ) { case NO_INHERITANCE: { // nothing to do break; } case DISCRIMINATED: { bindDiscriminatorSubclassEntities( hierarchySource.getRoot(), rootEntityDescriptor ); break; } case JOINED: { bindJoinedSubclassEntities( hierarchySource.getRoot(), rootEntityDescriptor ); break; } case UNION: { bindUnionSubclassEntities( hierarchySource.getRoot(), rootEntityDescriptor ); break; } } }
metadataCollector.addEntityBinding( persistentClass );