Package org.hibernate.ogm.persister.impl

Examples of org.hibernate.ogm.persister.impl.OgmEntityPersister


      return value;
    }
  }

  private Type getPropertyType(String entityType, List<String> propertyPath) {
    OgmEntityPersister persister = getPersister( entityType );
    String propertyName = propertyPath.get( 0 );
    Type propertyType = persister.getPropertyType( propertyName );
    if ( propertyPath.size() == 1 ) {
      return propertyType;
    }
    else if ( propertyType.isComponentType() ) {
      return embeddedPropertyType( propertyPath, (ComponentType) propertyType );
View Full Code Here


    return (OgmEntityPersister) sessionFactory.getEntityPersister( targetedType.getName() );
  }

  public boolean isEmbedddedProperty(String targetTypeName, PropertyPath propertyPath) {
    List<String> namesWithoutAlias = propertyPath.getNodeNamesWithoutAlias();
    OgmEntityPersister persister = getPersister( targetTypeName );
    Type propertyType = persister.getPropertyType( namesWithoutAlias.get( 0 ) );
    return propertyType.isComponentType() && !propertyType.isAssociationType();
  }
View Full Code Here

      log.debug( "finished" );
    }
  }

  private Object entity(Session session, Tuple tuple) {
    OgmEntityPersister persister = (OgmEntityPersister) sessionFactory.getEntityPersister( indexedType.getName() );
    OgmLoader loader = new OgmLoader( new OgmEntityPersister[] { persister } );
    List<Tuple> tuples = new ArrayList<Tuple>();
    tuples.add( tuple );
    OgmLoadingContext ogmLoadingContext = new OgmLoadingContext();
    ogmLoadingContext.setTuples( tuples );
View Full Code Here

    List<E> entities = (List<E>) loader.loadEntities( session, LockOptions.NONE, ogmLoadingContext );
    return entities.get( 0 );
  }

  private OgmLoader createLoader(SessionImplementor session, Class<?> entityClass) {
    OgmEntityPersister persister = (OgmEntityPersister) ( session.getFactory() ).getEntityPersister( entityClass.getName() );
    OgmLoader loader = new OgmLoader( new OgmEntityPersister[] { persister } );
    return loader;
  }
View Full Code Here

    List<T> entities = (List<T>) loader.loadEntities( session, LockOptions.NONE, ogmLoadingContext );
    return entities.get( 0 );
  }

  private OgmLoader createLoader(SessionImplementor session, Class<?> entityClass) {
    OgmEntityPersister persister = (OgmEntityPersister) ( session.getFactory() ).getEntityPersister( entityClass.getName() );
    OgmLoader loader = new OgmLoader( new OgmEntityPersister[] { persister } );
    return loader;
  }
View Full Code Here

      if ( queryReturn instanceof EntityType ) {
        if ( metadata != null ) {
          return null;
        }
        EntityType rootReturn = (EntityType) queryReturn;
        OgmEntityPersister persister = (OgmEntityPersister) sessionFactory.getEntityPersister( rootReturn.getName() );
        metadata = new EntityKeyMetadata( persister.getTableName(), persister.getRootTableIdentifierColumnNames() );
      }
    }

    return metadata;
  }
View Full Code Here

      if ( queryReturn instanceof RootReturn ) {
        if ( metadata != null ) {
          return null;
        }
        RootReturn rootReturn = (RootReturn) queryReturn;
        OgmEntityPersister persister = (OgmEntityPersister) sessionFactory.getEntityPersister( rootReturn.getEntityName() );
        metadata = new EntityKeyMetadata( persister.getTableName(), persister.getRootTableIdentifierColumnNames() );
      }
    }

    return metadata;
  }
View Full Code Here

  }

  @Test
  public void canObtainInverseMetadataForBiDirectionalManyToOne() {
    // obtain inverse collection from the main side
    OgmEntityPersister entityPersister = (OgmEntityPersister) sessions.getEntityPersister( SalesGuy.class.getName() );
    AssociationKeyMetadata inverseAssociationKeyMetadata = BiDirectionalAssociationHelper.getInverseAssociationKeyMetadata( entityPersister, entityPersister.getPropertyIndex( "salesForce" ) );
    assertThat( inverseAssociationKeyMetadata ).isNotNull();
    assertThat( inverseAssociationKeyMetadata.getTable() ).isEqualTo( "SalesGuy" );
    assertThat( inverseAssociationKeyMetadata.getColumnNames() ).isEqualTo( new String[]{ "salesForce_id" } );
    assertThat( inverseAssociationKeyMetadata.getRowKeyColumnNames() ).isEqualTo( new String[]{ "salesForce_id", "id" } );
View Full Code Here

  }

  @Test
  public void canObtainInverseMetadataForBiDirectionalManyToMany() {
    // obtain inverse collection from the main side
    OgmEntityPersister entityPersister = (OgmEntityPersister) sessions.getEntityPersister( AccountOwner.class.getName() );
    AssociationKeyMetadata inverseAssociationKeyMetadata = BiDirectionalAssociationHelper.getInverseAssociationKeyMetadata( entityPersister, entityPersister.getPropertyIndex( "bankAccounts" ) );
    assertThat( inverseAssociationKeyMetadata ).isNotNull();
    assertThat( inverseAssociationKeyMetadata.getTable() ).isEqualTo( "AccountOwner_BankAccount" );
    assertThat( inverseAssociationKeyMetadata.getColumnNames() ).isEqualTo( new String[]{ "bankAccounts_id" } );
    assertThat( inverseAssociationKeyMetadata.getRowKeyColumnNames() ).isEqualTo( new String[]{ "bankAccounts_id", "owners_id" } );

    // obtain main side collection from the inverse side
    entityPersister = (OgmEntityPersister) sessions.getEntityPersister( BankAccount.class.getName() );
    AssociationKeyMetadata mainSideAssociationKeyMetadata = BiDirectionalAssociationHelper.getInverseAssociationKeyMetadata( entityPersister, entityPersister.getPropertyIndex( "owners" ) );
    assertThat( mainSideAssociationKeyMetadata ).isNotNull();
    assertThat( mainSideAssociationKeyMetadata.getTable() ).isEqualTo( "AccountOwner_BankAccount" );
    assertThat( mainSideAssociationKeyMetadata.getColumnNames() ).isEqualTo( new String[]{ "owners_id" } );
    assertThat( mainSideAssociationKeyMetadata.getRowKeyColumnNames() ).isEqualTo( new String[]{ "owners_id", "bankAccounts_id" } );
  }
View Full Code Here

  }

  @Test
  public void canHandleSeveralAssociationsOnInverseSide() {
    // obtain inverse collection from the main side
    OgmEntityPersister entityPersister = (OgmEntityPersister) sessions.getEntityPersister( Pancake.class.getName() );
    AssociationKeyMetadata inverseAssociationKeyMetadata = BiDirectionalAssociationHelper.getInverseAssociationKeyMetadata( entityPersister, entityPersister.getPropertyIndex( "eater" ) );
    assertThat( inverseAssociationKeyMetadata ).isNotNull();
    assertThat( inverseAssociationKeyMetadata.getTable() ).isEqualTo( "Pancake" );
    assertThat( inverseAssociationKeyMetadata.getColumnNames() ).isEqualTo( new String[]{ "eater_id" } );
    assertThat( inverseAssociationKeyMetadata.getRowKeyColumnNames() ).isEqualTo( new String[]{ "eater_id", "id" } );

    // obtain inverse collection from the main side, different entity
    entityPersister = (OgmEntityPersister) sessions.getEntityPersister( Muffin.class.getName() );
    inverseAssociationKeyMetadata = BiDirectionalAssociationHelper.getInverseAssociationKeyMetadata( entityPersister, entityPersister.getPropertyIndex( "eater" ) );
    assertThat( inverseAssociationKeyMetadata ).isNotNull();
    assertThat( inverseAssociationKeyMetadata.getTable() ).isEqualTo( "Muffin" );
    assertThat( inverseAssociationKeyMetadata.getColumnNames() ).isEqualTo( new String[]{ "eater_id" } );
    assertThat( inverseAssociationKeyMetadata.getRowKeyColumnNames() ).isEqualTo( new String[]{ "eater_id", "id" } );
  }
View Full Code Here

TOP

Related Classes of org.hibernate.ogm.persister.impl.OgmEntityPersister

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.