private String generateVersionIncrementUpdateString() { Update update = new Update( getFactory().getDialect() ); update.setTableName( getTableName( 0 ) ); if ( getFactory().getSessionFactoryOptions().isCommentsEnabled() ) { update.setComment( "forced version increment" ); } update.addColumn( getVersionColumnName() ); update.addPrimaryKeyColumns( rootTableKeyColumnNames ); update.setVersionColumnName( getVersionColumnName() ); return update.toStatementString(); }
final boolean useRowId) { Update update = new Update( getFactory().getDialect() ).setTableName( getTableName( j ) ); update.addPrimaryKeyColumns( new String[] {rowIdName} ); //TODO: eventually, rowIdName[j] update.addPrimaryKeyColumns( getKeyColumns( j ) ); update.addColumns( getPropertyColumnNames( i ), propertyColumnUpdateable[i], propertyColumnWriters[i] update.addColumns( getPropertyColumnNames( i ), propertyColumnUpdateable[i], propertyColumnWriters[i] update.setVersionColumnName( getVersionColumnName() ); hasColumns = true; for ( int k = 0; k < propertyNullness.length; k++ ) { if ( propertyNullness[k] ) { update.addWhereColumn( propertyColumnNames[k], "=" + propertyColumnWriters[k] ); update.addWhereColumn( propertyColumnNames[k], " is null" ); update.setComment( "update " + getEntityName() ); return hasColumns ? update.toStatementString() : null;
/** * Generate the SQL UPDATE that updates all the foreign keys to null */ @Override protected String generateDeleteString() { final Update update = new Update( getDialect() ) .setTableName( qualifiedTableName ) .addColumns( keyColumnNames, "null" ) .addPrimaryKeyColumns( keyColumnNames ); if ( hasIndex && !indexContainsFormula ) { for ( int i = 0 ; i < indexColumnNames.length ; i++ ) { if ( indexColumnIsSettable[i] ) { update.addColumn( indexColumnNames[i], "null" ); } } } if ( hasWhere ) { update.setWhere( sqlWhereString ); } if ( getFactory().getSessionFactoryOptions().isCommentsEnabled() ) { update.setComment( "delete one-to-many " + getRole() ); } return update.toStatementString(); }
/** * Generate the SQL UPDATE that inserts a collection index */ @Override protected String generateUpdateRowString() { final Update update = new Update( getDialect() ).setTableName( qualifiedTableName ); update.addPrimaryKeyColumns( elementColumnNames, elementColumnIsSettable, elementColumnWriters ); if ( hasIdentifier ) { update.addPrimaryKeyColumns( new String[] {identifierColumnName} ); } if ( hasIndex && !indexContainsFormula ) { for ( int i = 0 ; i < indexColumnNames.length ; i++ ) { if ( indexColumnIsSettable[i] ) { update.addColumn( indexColumnNames[i] ); } } } return update.toStatementString(); }
/** * Generate the SQL UPDATE that updates all the foreign keys to null */ protected String generateDeleteString() { Update update = new Update() .setTableName( qualifiedTableName ) .addColumns( keyColumnNames, "null" ) .setPrimaryKeyColumnNames( keyColumnNames ); if ( hasIndex && !indexIsFormula ) update.addColumns( indexColumnNames, "null" ); if ( hasWhere ) update.setWhere( sqlWhereString ); if ( getFactory().getSettings().isCommentsEnabled() ) { update.setComment( "delete one-to-many " + getRole() ); } return update.toStatementString(); }
boolean affected = false; final List<ParameterSpecification> parameterList = new ArrayList<>(); final Update update = new Update( factory.getServiceRegistry().getService( JdbcServices.class ).getDialect() ) .setTableName( tableNames[tableIndex] ) .setWhere( "(" + String.join( ", ", (CharSequence[]) columnNames[tableIndex] ) + ") in (" + idSubselect + ")" ); if ( factory().getSessionFactoryOptions().isCommentsEnabled() ) { update.setComment( "bulk update" ); if ( assignmentSpecification.affectsTable( tableNames[tableIndex] ) ) { affected = true; update.appendAssignmentFragment( assignmentSpecification.getSqlAssignmentFragment() ); if ( assignmentSpecification.getParameters() != null ) { Collections.addAll( parameterList, assignmentSpecification.getParameters() ); updates[tableIndex] = update.toStatementString(); assignmentParameterSpecifications[tableIndex] = parameterList.toArray( new ParameterSpecification[parameterList.size()] );
protected String generateLockString() { SessionFactoryImplementor factory = lockable.getFactory(); Update update = new Update( factory.getDialect() ); update.setTableName( lockable.getRootTableName() ); update.setPrimaryKeyColumnNames( lockable.getRootTableIdentifierColumnNames() ); update.setVersionColumnName( lockable.getVersionColumnName() ); update.addColumn( lockable.getVersionColumnName() ); if ( factory.getSettings().isCommentsEnabled() ) { update.setComment( lockMode + " lock " + lockable.getEntityName() ); } return update.toStatementString(); }
final boolean useRowId) { Update update = new Update().setTableName( getTableName( j ) ); update.setPrimaryKeyColumnNames( new String[]{rowIdName} ); //TODO: eventually, rowIdName[j] update.setPrimaryKeyColumnNames( getKeyColumns( j ) ); if ( includeProperty[i] && isPropertyOfTable( i, j ) ) { update.addColumns( getPropertyColumnNames(i), propertyColumnUpdateable[i] ); hasColumns = hasColumns || getPropertyColumnSpan( i ) > 0; update.setVersionColumnName( getVersionColumnName() ); hasColumns = true; update.addWhereColumns( getPropertyColumnNames( i ), " is null" ); update.addWhereColumns( getPropertyColumnNames( i ) ); update.setComment( "update " + getEntityName() ); return hasColumns ? update.toStatementString() : null;
public Update addColumns(String[] columnNames) { for ( String columnName : columnNames ) { addColumn( columnName ); } return this; }
protected Update generateUpdate( String tableName, String[] columnNames, String idSubselect, String comment) { final Update update = new Update( factory().getServiceRegistry().getService( JdbcServices.class ).getDialect() ) .setTableName( tableName ) .setWhere( "(" + String.join( ", ", (CharSequence[]) columnNames ) + ") in (" + idSubselect + ")" ); if ( factory().getSessionFactoryOptions().isCommentsEnabled() ) { update.setComment( comment ); } return update; } }
public Update addWhereColumns(String[] columnNames) { for ( String columnName : columnNames ) { addWhereColumn( columnName ); } return this; }
if ( assignmentSpecification.affectsTable( tableNames[tableIndex] ) ) { affected = true; update.appendAssignmentFragment( assignmentSpecification.getSqlAssignmentFragment() ); if ( assignmentSpecification.getParameters() != null ) { Collections.addAll( parameterList, assignmentSpecification.getParameters() ); updates.put( tableIndex, update.toStatementString() ); assignmentParameterSpecifications[tableIndex] = parameterList.toArray( new ParameterSpecification[parameterList.size()] );
public Update setPrimaryKeyColumnNames(String[] columnNames) { this.primaryKeyColumns.clear(); addPrimaryKeyColumns(columnNames); return this; }
/** * Generate the SQL UPDATE that updates a foreign key to a value */ protected String generateInsertRowString() { Update update = new Update() .setTableName( qualifiedTableName ) .addColumns( keyColumnNames ); if ( hasIndex && !indexIsFormula ) update.addColumns( indexColumnNames ); //identifier collections not supported for 1-to-many if ( getFactory().getSettings().isCommentsEnabled() ) { update.setComment( "create one-to-many row " + getRole() ); } return update.setPrimaryKeyColumnNames( elementColumnNames ) .toStatementString(); }
boolean affected = false; final List<ParameterSpecification> parameterList = new ArrayList<>(); final Update update = new Update( dialect ) .setTableName( tableNames[tableIndex] ) .setWhere( "(" + String.join( ", ", columnNames[tableIndex] ) + ") IN (" + idSubselect + ")" ); if ( factory().getSessionFactoryOptions().isCommentsEnabled() ) { update.setComment( "bulk update" ); if ( assignmentSpecification.affectsTable( tableNames[tableIndex] ) ) { affected = true; update.appendAssignmentFragment( assignmentSpecification.getSqlAssignmentFragment() ); if ( assignmentSpecification.getParameters() != null ) { Collections.addAll( parameterList, assignmentSpecification.getParameters() ); updates[tableIndex] = update.toStatementString(); assignmentParameterSpecifications[tableIndex] = parameterList.toArray( new ParameterSpecification[parameterList.size()] );
final Update update = new Update( sessionImplementor.getFactory().getJdbcServices().getDialect() ).setTableName( updateTableName ); update.addColumn( revEndColumnName ); update.addColumn( rootAuditedEntityQueryable.toColumns( audEntitiesCfg.getRevisionEndTimestampFieldName() )[0] ); update.addPrimaryKeyColumns( rootProductionEntityQueryable.getIdentifierColumnNames() ); update.addWhereColumn( rootAuditedEntityQueryable.toColumns( audEntitiesCfg.getRevisionNumberPath() )[0], "<> ?" ); update.addWhereColumn( revEndColumnName, " is null" ); final String updateSql = update.toStatementString();
public Update addColumns(String[] columnNames, boolean[] updateable, String[] valueExpressions) { for ( int i=0; i<columnNames.length; i++ ) { if ( updateable[i] ) { addColumn( columnNames[i], valueExpressions[i] ); } } return this; }
@Override protected Update generateUpdate( String tableName, String[] columnNames, String idSubselect, String comment) { final Update update = new Update( factory().getServiceRegistry().getService( JdbcServices.class ).getDialect() ) .setTableName( tableName ) .setWhere( idSubselect ); if ( factory().getSessionFactoryOptions().isCommentsEnabled() ) { update.setComment( comment ); } return update; } }
public Update addWhereColumns(String[] columnNames, String valueExpression) { for ( String columnName : columnNames ) { addWhereColumn( columnName, valueExpression ); } return this; }
public Update setPrimaryKeyColumnNames(String[] columnNames) { this.primaryKeyColumns.clear(); addPrimaryKeyColumns(columnNames); return this; }