Java Code Examples for org.hibernate.dialect.Dialect.appendLockHint()

The following are Jave code examples for showing how to use appendLockHint() of the org.hibernate.dialect.Dialect class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: lams   File: TableStructure.java   View Source Code Vote up 6 votes
public TableStructure(
		Dialect dialect,
		String tableName,
		String valueColumnName,
		int initialValue,
		int incrementSize,
		Class numberType) {
	this.tableName = tableName;
	this.initialValue = initialValue;
	this.incrementSize = incrementSize;
	this.valueColumnName = valueColumnName;
	this.numberType = numberType;

	selectQuery = "select " + valueColumnName + " as id_val" +
			" from " + dialect.appendLockHint( LockMode.PESSIMISTIC_WRITE, tableName ) +
			dialect.getForUpdateString();

	updateQuery = "update " + tableName +
			" set " + valueColumnName + "= ?" +
			" where " + valueColumnName + "=?";
}
 
Example 2
Project: lams   File: TableGenerator.java   View Source Code Vote up 5 votes
public void configure(Type type, Properties params, Dialect dialect) {
	identifierType = type;

	ObjectNameNormalizer normalizer = ( ObjectNameNormalizer ) params.get( IDENTIFIER_NORMALIZER );

	tableName = ConfigurationHelper.getString( TABLE, params, DEFAULT_TABLE_NAME );
	if ( tableName.indexOf( '.' ) < 0 ) {
		final String schemaName = normalizer.normalizeIdentifierQuoting( params.getProperty( SCHEMA ) );
		final String catalogName = normalizer.normalizeIdentifierQuoting( params.getProperty( CATALOG ) );
		tableName = Table.qualify(
				dialect.quote( catalogName ),
				dialect.quote( schemaName ),
				dialect.quote( tableName )
		);
	}
	else {
		// if already qualified there is not much we can do in a portable manner so we pass it
		// through and assume the user has set up the name correctly.
	}

	columnName = dialect.quote(
			normalizer.normalizeIdentifierQuoting(
					ConfigurationHelper.getString( COLUMN, params, DEFAULT_COLUMN_NAME )
			)
	);

	query = "select " +
		columnName +
		" from " +
		dialect.appendLockHint(LockMode.PESSIMISTIC_WRITE, tableName) +
		dialect.getForUpdateString();

	update = "update " +
		tableName +
		" set " +
		columnName +
		" = ? where " +
		columnName +
		" = ?";
}
 
Example 3
Project: lams   File: MultipleHiLoPerTableGenerator.java   View Source Code Vote up 4 votes
public void configure(Type type, Properties params, Dialect dialect) throws MappingException {
	ObjectNameNormalizer normalizer = ( ObjectNameNormalizer ) params.get( IDENTIFIER_NORMALIZER );

	tableName = normalizer.normalizeIdentifierQuoting( ConfigurationHelper.getString( ID_TABLE, params, DEFAULT_TABLE ) );
	if ( tableName.indexOf( '.' ) < 0 ) {
		tableName = dialect.quote( tableName );
		final String schemaName = dialect.quote(
				normalizer.normalizeIdentifierQuoting( params.getProperty( SCHEMA ) )
		);
		final String catalogName = dialect.quote(
				normalizer.normalizeIdentifierQuoting( params.getProperty( CATALOG ) )
		);
		tableName = Table.qualify( catalogName, schemaName, tableName );
	}
	else {
		// if already qualified there is not much we can do in a portable manner so we pass it
		// through and assume the user has set up the name correctly.
	}

	pkColumnName = dialect.quote(
			normalizer.normalizeIdentifierQuoting(
					ConfigurationHelper.getString( PK_COLUMN_NAME, params, DEFAULT_PK_COLUMN )
			)
	);
	valueColumnName = dialect.quote(
			normalizer.normalizeIdentifierQuoting(
					ConfigurationHelper.getString( VALUE_COLUMN_NAME, params, DEFAULT_VALUE_COLUMN )
			)
	);
	keySize = ConfigurationHelper.getInt(PK_LENGTH_NAME, params, DEFAULT_PK_LENGTH);
	String keyValue = ConfigurationHelper.getString(PK_VALUE_NAME, params, params.getProperty(TABLE) );

	query = "select " +
		valueColumnName +
		" from " +
		dialect.appendLockHint( LockMode.PESSIMISTIC_WRITE, tableName ) +
		" where " + pkColumnName + " = '" + keyValue + "'" +
		dialect.getForUpdateString();

	update = "update " +
		tableName +
		" set " +
		valueColumnName +
		" = ? where " +
		valueColumnName +
		" = ? and " +
		pkColumnName +
		" = '" +
		keyValue
		+ "'";

	insert = "insert into " + tableName +
		"(" + pkColumnName + ", " +	valueColumnName + ") " +
		"values('"+ keyValue +"', ?)";


	//hilo config
	maxLo = ConfigurationHelper.getInt(MAX_LO, params, Short.MAX_VALUE);
	returnClass = type.getReturnedClass();

	if ( maxLo >= 1 ) {
		hiloOptimizer = new LegacyHiLoAlgorithmOptimizer( returnClass, maxLo );
	}
}