protected String generateSelectSizeString(boolean isIntegerIndexed) { String selectValue = isIntegerIndexed ? "max(" + getIndexColumnNames()[0] + ") + 1" : // lists, arrays "count(" + getElementColumnNames()[0] + ")"; // sets, maps, bags return new SimpleSelect( dialect ) .setTableName( getTableName() ) .addCondition( getKeyColumnNames(), "=?" ) .addWhereToken( sqlWhereString ) .addColumn( selectValue ) .toStatementString(); }
protected String generateDetectRowByElementString() { return new SimpleSelect( dialect ) .setTableName( getTableName() ) .addCondition( getKeyColumnNames(), "=?" ) .addCondition( getElementColumnNames(), "=?" ) .addCondition( elementFormulas, "=?" ) .addWhereToken( sqlWhereString ) .addColumn( "1" ) .toStatementString(); }
protected String generateDetectRowByIndexString() { if ( !hasIndex() ) { return null; } return new SimpleSelect( dialect ) .setTableName( getTableName() ) .addCondition( getKeyColumnNames(), "=?" ) .addCondition( getIndexColumnNames(), "=?" ) .addCondition( indexFormulas, "=?" ) .addWhereToken( sqlWhereString ) .addColumn( "1" ) .toStatementString(); }
protected String generateSelectRowByIndexString() { if ( !hasIndex() ) { return null; } return new SimpleSelect( dialect ) .setTableName( getTableName() ) .addCondition( getKeyColumnNames(), "=?" ) .addCondition( getIndexColumnNames(), "=?" ) .addCondition( indexFormulas, "=?" ) .addWhereToken( sqlWhereString ) .addColumns( getElementColumnNames(), elementColumnAliases ) .addColumns( indexFormulas, indexColumnAliases ) .toStatementString(); }
/** * Generate the SQL that pessimistic locks a row by id (and version) */ protected String generateLockString(LockMode lockMode) { SimpleSelect select = new SimpleSelect( getFactory().getDialect() ) .setLockMode( lockMode ) .setTableName( getVersionedTableName() ) .addColumn( rootTableKeyColumnNames[0] ) .addCondition( rootTableKeyColumnNames, "=?" ); if ( isVersioned() ) { select.addWhereToken( "and" ) .addCondition( getVersionColumnName(), "=?" ); } if ( getFactory().getSettings().isCommentsEnabled() ) { select.setComment( "lock " + getEntityName() ); } return select.toStatementString(); }