Package org.hibernate.metamodel.domain

Examples of org.hibernate.metamodel.domain.Hierarchical


  private void bindSingleIdAnnotation(EntityBinding entityBinding) {
    // we know we are dealing w/ a single @Id, but potentially it is defined in a mapped super class
    ConfiguredClass configuredClass = entityClass;
    EntityClass superEntity = entityClass.getEntityParent();
    Hierarchical container = entityBinding.getEntity();
    Iterator<SimpleAttribute> iter = null;
    while ( configuredClass != null && configuredClass != superEntity ) {
      iter = configuredClass.getIdAttributes().iterator();
      if ( iter.hasNext() ) {
        break;
      }
      configuredClass = configuredClass.getParent();
      container = container.getSuperType();
    }

    // if we could not find the attribute our assumptions were wrong
    if ( iter == null || !iter.hasNext() ) {
      throw new AnnotationException(
          String.format(
              "Unable to find id attribute for class %s",
              entityClass.getName()
          )
      );
    }

    // now that we have the id attribute we can create the attribute and binding
    MappedAttribute idAttribute = iter.next();
    Attribute attribute = container.getOrCreateSingularAttribute( idAttribute.getName() );

    SimpleAttributeBinding attributeBinding = entityBinding.makeSimpleIdAttributeBinding( attribute );
    attributeBinding.initialize( new AttributeBindingStateImpl( (SimpleAttribute) idAttribute ) );
    attributeBinding.initialize( new ColumnRelationalStateImpl( (SimpleAttribute) idAttribute, meta ) );
    bindSingleIdGeneratedValue( entityBinding, idAttribute.getName() );
View Full Code Here


    AttributeContainer entity = entityBinding.getEntity();
    bindAttributes( entityBinding, entity, entityClass );

    // bind potential mapped super class attributes
    ConfiguredClass parent = entityClass.getParent();
    Hierarchical superTypeContainer = entityBinding.getEntity().getSuperType();
    while ( containsPotentialMappedSuperclassAttributes( parent ) ) {
      bindAttributes( entityBinding, superTypeContainer, parent );
      parent = parent.getParent();
      superTypeContainer = superTypeContainer.getSuperType();
    }
  }
View Full Code Here

    AttributeContainer entity = entityBinding.getEntity();
    bindEmbeddedAttributes( entityBinding, entity, entityClass );

    // bind potential mapped super class embeddables
    ConfiguredClass parent = entityClass.getParent();
    Hierarchical superTypeContainer = entityBinding.getEntity().getSuperType();
    while ( containsPotentialMappedSuperclassAttributes( parent ) ) {
      bindEmbeddedAttributes( entityBinding, superTypeContainer, parent );
      parent = parent.getParent();
      superTypeContainer = superTypeContainer.getSuperType();
    }
  }
View Full Code Here

    Set<ConfiguredClassHierarchy<EntityClass>> hierarchies = ConfiguredClassHierarchyBuilder.createEntityHierarchies(
        context
    );

    // now we process each hierarchy one at the time
    Hierarchical parent = null;
    for ( ConfiguredClassHierarchy<EntityClass> hierarchy : hierarchies ) {
      for ( EntityClass entityClass : hierarchy ) {
        // for classes annotated w/ @Entity we create a EntityBinding
        if ( ConfiguredClassType.ENTITY.equals( entityClass.getConfiguredClassType() ) ) {
          LOG.bindingEntityFromAnnotatedClass( entityClass.getName() );
View Full Code Here

TOP

Related Classes of org.hibernate.metamodel.domain.Hierarchical

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.