Package org.hibernate.mapping

Examples of org.hibernate.mapping.Any


      throw new AssertionFailure(
          "Missing @Any annotation: "
              + BinderHelper.getPath( propertyHolder, inferredData )
      );
    }
    Any value = BinderHelper.buildAnyValue(
        anyAnn.metaDef(), columns, anyAnn.metaColumn(), inferredData,
        cascadeOnDelete, nullability, propertyHolder, entityBinder, anyAnn.optional(), mappings
    );

    PropertyBinder binder = new PropertyBinder();
View Full Code Here


      PropertyHolder propertyHolder,
      EntityBinder entityBinder,
      boolean optional,
      Mappings mappings) {
    //All FK columns should be in the same table
    Any value = new Any( mappings, columns[0].getTable() );
    AnyMetaDef metaAnnDef = inferredData.getProperty().getAnnotation( AnyMetaDef.class );

    if ( metaAnnDef != null ) {
      //local has precedence over general and can be mapped for future reference if named
      bindAnyMetaDefs( inferredData.getProperty(), mappings );
    }
    else {
      metaAnnDef = mappings.getAnyMetaDef( anyMetaDefName );
    }
    if ( metaAnnDef != null ) {
      value.setIdentifierType( metaAnnDef.idType() );
      value.setMetaType( metaAnnDef.metaType() );

      HashMap values = new HashMap();
      org.hibernate.type.Type metaType = mappings.getTypeResolver().heuristicType( value.getMetaType() );
      for (MetaValue metaValue : metaAnnDef.metaValues()) {
        try {
          Object discrim = ( (org.hibernate.type.DiscriminatorType) metaType ).stringToObject( metaValue
              .value() );
          String entityName = metaValue.targetEntity().getName();
          values.put( discrim, entityName );
        }
        catch (ClassCastException cce) {
          throw new MappingException( "metaType was not a DiscriminatorType: "
              + metaType.getName() );
        }
        catch (Exception e) {
          throw new MappingException( "could not interpret metaValue", e );
        }
      }
      if ( !values.isEmpty() ) value.setMetaValues( values );
    }
    else {
      throw new AnnotationException( "Unable to find @AnyMetaDef for an @(ManyTo)Any mapping: "
          + StringHelper.qualify( propertyHolder.getPath(), inferredData.getPropertyName() ) );
    }

    value.setCascadeDeleteEnabled( cascadeOnDelete );
    if ( !optional ) {
      for (Ejb3JoinColumn column : columns) {
        column.setNullable( false );
      }
    }

    Ejb3Column[] metaColumns = Ejb3Column.buildColumnFromAnnotation(
        new javax.persistence.Column[] { metaColumn }, null,
        nullability, propertyHolder, inferredData, entityBinder.getSecondaryTables(), mappings
    );
    //set metaColumn to the right table
    for (Ejb3Column column : metaColumns) {
      column.setTable( value.getTable() );
    }
    //meta column
    for (Ejb3Column column : metaColumns) {
      column.linkWithValue( value );
    }
View Full Code Here

    org.hibernate.annotations.Any anyAnn = inferredData.getProperty().getAnnotation( org.hibernate.annotations.Any.class );
    if ( anyAnn == null ) {
      throw new AssertionFailure( "Missing @Any annotation: "
          + StringHelper.qualify( propertyHolder.getPath(), inferredData.getPropertyName() ) );
    }
    Any value = BinderHelper.buildAnyValue( anyAnn.metaDef(), columns, anyAnn.metaColumn(), inferredData,
        cascadeOnDelete, nullability, propertyHolder, entityBinder, anyAnn.optional(), mappings );

    PropertyBinder binder = new PropertyBinder();
    binder.setName( inferredData.getPropertyName() );
    binder.setValue( value );
View Full Code Here

      PropertyData inferredData = new PropertyInferredData( property, "unsupported", mappings.getReflectionManager() );
      //override the table
      for (Ejb3Column column : inverseJoinColumns) {
        column.setTable( collValue.getCollectionTable() );
      }
      Any any = BinderHelper.buildAnyValue( anyAnn.metaDef(), inverseJoinColumns, anyAnn.metaColumn(),
          inferredData, cascadeDeleteEnabled, Nullability.NO_CONSTRAINT,
          propertyHolder, new EntityBinder(), true, mappings );
      collValue.setElement( any );
    }
    else {
View Full Code Here

    org.hibernate.annotations.Any anyAnn = inferredData.getProperty().getAnnotation( org.hibernate.annotations.Any.class );
    if ( anyAnn == null ) {
      throw new AssertionFailure( "Missing @Any annotation: "
          + BinderHelper.getPath( propertyHolder, inferredData ) );
    }
    Any value = BinderHelper.buildAnyValue( anyAnn.metaDef(), columns, anyAnn.metaColumn(), inferredData,
        cascadeOnDelete, nullability, propertyHolder, entityBinder, anyAnn.optional(), mappings );

    PropertyBinder binder = new PropertyBinder();
    binder.setName( inferredData.getPropertyName() );
    binder.setValue( value );
View Full Code Here

  public static Any buildAnyValue(String anyMetaDefName, Ejb3JoinColumn[] columns, javax.persistence.Column metaColumn, PropertyData inferredData,
                  boolean cascadeOnDelete, Nullability nullability, PropertyHolder propertyHolder,
                  EntityBinder entityBinder, boolean optional, ExtendedMappings mappings) {
    //All FK columns should be in the same table
    Any value = new Any( columns[0].getTable() );
    AnyMetaDef metaAnnDef = inferredData.getProperty().getAnnotation( AnyMetaDef.class );

    if ( metaAnnDef != null ) {
      //local has precedence over general and can be mapped for future reference if named
      bindAnyMetaDefs( inferredData.getProperty(), mappings );
    }
    else {
      metaAnnDef = mappings.getAnyMetaDef( anyMetaDefName );
    }
    if ( metaAnnDef != null ) {
      value.setIdentifierType( metaAnnDef.idType() );
      value.setMetaType( metaAnnDef.metaType() );

      HashMap values = new HashMap();
      org.hibernate.type.Type metaType = TypeFactory.heuristicType( value.getMetaType() );
      for (MetaValue metaValue : metaAnnDef.metaValues()) {
        try {
          Object discrim = ( (org.hibernate.type.DiscriminatorType) metaType ).stringToObject( metaValue
              .value() );
          String entityName = metaValue.targetEntity().getName();
          values.put( discrim, entityName );
        }
        catch (ClassCastException cce) {
          throw new MappingException( "metaType was not a DiscriminatorType: "
              + metaType.getName() );
        }
        catch (Exception e) {
          throw new MappingException( "could not interpret metaValue", e );
        }
      }
      if ( !values.isEmpty() ) value.setMetaValues( values );
    }
    else {
      throw new AnnotationException( "Unable to find @AnyMetaDef for an @(ManyTo)Any mapping: "
          + StringHelper.qualify( propertyHolder.getPath(), inferredData.getPropertyName() ) );
    }

    value.setCascadeDeleteEnabled( cascadeOnDelete );
    if ( !optional ) {
      for (Ejb3JoinColumn column : columns) {
        column.setNullable( false );
      }
    }

    Ejb3Column[] metaColumns = Ejb3Column.buildColumnFromAnnotation( new javax.persistence.Column[] { metaColumn }, null,
        nullability, propertyHolder, inferredData, entityBinder.getSecondaryTables(), mappings );
    //set metaColumn to the right table
    for (Ejb3Column column : metaColumns) {
      column.setTable( value.getTable() );
    }
    //meta column
    for (Ejb3Column column : metaColumns) {
      column.linkWithValue( value );
    }
View Full Code Here

    PersistentClass pc = config.getClassMapping("org.hibernate.tool.hbm2x.hbm2hbmxml.Person2");
    assertNotNull(pc);
    Property prop = pc.getProperty("data");
    assertNotNull(prop);
    assertTrue(prop.getValue() instanceof Any);
    Any any = (Any) prop.getValue();
    assertTrue("Expected to get one meta-value element", any.getMetaValues() != null);
    assertEquals("Expected to get one meta-value element", 1, any.getMetaValues().size());

  }
View Full Code Here

      throw new AssertionFailure(
          "Missing @Any annotation: "
              + BinderHelper.getPath( propertyHolder, inferredData )
      );
    }
    Any value = BinderHelper.buildAnyValue(
        anyAnn.metaDef(), columns, anyAnn.metaColumn(), inferredData,
        cascadeOnDelete, nullability, propertyHolder, entityBinder, anyAnn.optional(), mappings
    );

    PropertyBinder binder = new PropertyBinder();
View Full Code Here

      PropertyData inferredData = new PropertyInferredData(null, property, "unsupported", mappings.getReflectionManager() );
      //override the table
      for (Ejb3Column column : inverseJoinColumns) {
        column.setTable( collValue.getCollectionTable() );
      }
      Any any = BinderHelper.buildAnyValue( anyAnn.metaDef(), inverseJoinColumns, anyAnn.metaColumn(),
          inferredData, cascadeDeleteEnabled, Nullability.NO_CONSTRAINT,
          propertyHolder, new EntityBinder(), true, mappings );
      collValue.setElement( any );
    }
    else {
View Full Code Here

      throw new AssertionFailure(
          "Missing @Any annotation: "
              + BinderHelper.getPath( propertyHolder, inferredData )
      );
    }
    Any value = BinderHelper.buildAnyValue(
        anyAnn.metaDef(), columns, anyAnn.metaColumn(), inferredData,
        cascadeOnDelete, nullability, propertyHolder, entityBinder, anyAnn.optional(), mappings
    );

    PropertyBinder binder = new PropertyBinder();
View Full Code Here

TOP

Related Classes of org.hibernate.mapping.Any

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.