Java 类org.hibernate.sql.Insert 实例源码

项目:lams    文件:BasicCollectionPersister.java   
/**
 * Generate the SQL INSERT that creates a new row
 */
@Override
   protected String generateInsertRowString() {

    Insert insert = new Insert( getDialect() )
            .setTableName( qualifiedTableName )
            .addColumns( keyColumnNames );

    if ( hasIdentifier) insert.addColumn( identifierColumnName );

    if ( hasIndex /*&& !indexIsFormula*/ ) {
        insert.addColumns( indexColumnNames, indexColumnIsSettable );
    }

    if ( getFactory().getSettings().isCommentsEnabled() ) {
        insert.setComment( "insert collection row " + getRole() );
    }

    //if ( !elementIsFormula ) {
        insert.addColumns( elementColumnNames, elementColumnIsSettable, elementColumnWriters );
    //}

    return insert.toStatementString();
}
项目:cacheonix-core    文件:AbstractEntityPersister.java   
/**
 * Used to generate an insery statement against the root table in the
 * case of identifier generation strategies where the insert statement
 * executions actually generates the identifier value.
 *
 * @param includeProperty indices of the properties to include in the
 * insert statement.
 * @return The insert SQL statement string
 */
protected String generateIdentityInsertString(boolean[] includeProperty) {
    Insert insert = identityDelegate.prepareIdentifierGeneratingInsert();
    insert.setTableName( getTableName( 0 ) );

    // add normal properties
    for ( int i = 0; i < entityMetamodel.getPropertySpan(); i++ ) {
        if ( includeProperty[i] && isPropertyOfTable( i, 0 ) ) {
            // this property belongs on the table and is to be inserted
            insert.addColumns( getPropertyColumnNames(i), propertyColumnInsertable[i] );
        }
    }

    // add the discriminator
    addDiscriminatorToInsert( insert );

    // delegate already handles PK columns

    if ( getFactory().getSettings().isCommentsEnabled() ) {
        insert.setComment( "insert " + getEntityName() );
    }

    return insert.toStatementString();
}
项目:cacheonix-core    文件:BasicCollectionPersister.java   
/**
 * Generate the SQL INSERT that creates a new row
 */
protected String generateInsertRowString() {

    Insert insert = new Insert( getDialect() )
            .setTableName( qualifiedTableName )
            .addColumns( keyColumnNames );

    if ( hasIdentifier) insert.addColumn( identifierColumnName );

    if ( hasIndex /*&& !indexIsFormula*/ ) {
        insert.addColumns( indexColumnNames, indexColumnIsSettable );
    }

    if ( getFactory().getSettings().isCommentsEnabled() ) {
        insert.setComment( "insert collection row " + getRole() );
    }

    //if ( !elementIsFormula ) {
        insert.addColumns( elementColumnNames, elementColumnIsSettable );
    //}

    return insert.toStatementString();
}
项目:lams    文件:SequenceIdentityGenerator.java   
@Override
      public Insert setComment(String comment) {
    // don't allow comments on these insert statements as comments totally
    // blow up the Oracle getGeneratedKeys "support" :(
    LOG.disallowingInsertStatementComment();
    return this;
}
项目:lams    文件:JoinedSubclassEntityPersister.java   
@Override
protected void addDiscriminatorToInsert(Insert insert) {
    if ( explicitDiscriminatorColumnName != null ) {
        insert.addColumn( explicitDiscriminatorColumnName, getDiscriminatorSQLValue() );
    }
}
项目:cacheonix-core    文件:AbstractEntityPersister.java   
/**
 * Generate the SQL that inserts a row
 */
protected String generateInsertString(boolean identityInsert, boolean[] includeProperty, int j) {

    // todo : remove the identityInsert param and variations;
    //   identity-insert strings are now generated from generateIdentityInsertString()

    Insert insert = new Insert( getFactory().getDialect() )
            .setTableName( getTableName( j ) );

    // add normal properties
    for ( int i = 0; i < entityMetamodel.getPropertySpan(); i++ ) {
        if ( includeProperty[i] && isPropertyOfTable( i, j ) ) {
            // this property belongs on the table and is to be inserted
            insert.addColumns( getPropertyColumnNames(i), propertyColumnInsertable[i] );
        }
    }

    // add the discriminator
    if ( j == 0 ) {
        addDiscriminatorToInsert( insert );
    }

    // add the primary key
    if ( j == 0 && identityInsert ) {
        insert.addIdentityColumn( getKeyColumns( 0 )[0] );
    }
    else {
        insert.addColumns( getKeyColumns( j ) );
    }

    if ( getFactory().getSettings().isCommentsEnabled() ) {
        insert.setComment( "insert " + getEntityName() );
    }

    String result = insert.toStatementString();

    // append the SQL to return the generated identifier
    if ( j == 0 && identityInsert && useInsertSelectIdentity() ) { //TODO: suck into Insert
        result = getFactory().getDialect().appendIdentitySelectToInsert( result );
    }

    return result;
}
项目:cacheonix-core    文件:SequenceIdentityGenerator.java   
public Insert setComment(String comment) {
    // don't allow comments on these insert statements as comments totally
    // blow up the Oracle getGeneratedKeys "support" :(
    log.info( "disallowing insert statement comment for select-identity due to Oracle driver bug" );
    return this;
}
项目:lams    文件:SingleTableEntityPersister.java   
protected void addDiscriminatorToInsert(Insert insert) {

        if (discriminatorInsertable) {
            insert.addColumn( getDiscriminatorColumnName(), discriminatorSQLValue );
        }

    }
项目:cacheonix-core    文件:SingleTableEntityPersister.java   
protected void addDiscriminatorToInsert(Insert insert) {

        if (discriminatorInsertable) {
            insert.addColumn( getDiscriminatorColumnName(), discriminatorSQLValue );
        }

    }
项目:lams    文件:AbstractEntityPersister.java   
protected void addDiscriminatorToInsert(Insert insert) {}
项目:cacheonix-core    文件:AbstractEntityPersister.java   
protected void addDiscriminatorToInsert(Insert insert) {}