@Override public String toString() { return propertyName + getOp() + value; }
/** * Get a map of set of the natural identifier values set on this criterion (for composite natural identifiers * this need not be the full set of properties). * * @return The value map. */ public Map<String, Object> getNaturalIdValues() { final Map<String, Object> naturalIdValueMap = new ConcurrentHashMap<String, Object>(); for ( Criterion condition : conjunction.conditions() ) { if ( !SimpleExpression.class.isInstance( condition ) ) { continue; } final SimpleExpression equalsCondition = SimpleExpression.class.cast( condition ); if ( !"=".equals( equalsCondition.getOp() ) ) { continue; } naturalIdValueMap.put( equalsCondition.getPropertyName(), equalsCondition.getValue() ); } return naturalIdValueMap; }
@Override public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { final String[] columns = criteriaQuery.findColumns( propertyName, criteria ); final Type type = criteriaQuery.getTypeUsingProjection( criteria, propertyName ); final StringBuilder fragment = new StringBuilder(); if ( columns.length > 1 ) { fragment.append( '(' ); } final SessionFactoryImplementor factory = criteriaQuery.getFactory(); final int[] sqlTypes = type.sqlTypes( factory ); for ( int i = 0; i < columns.length; i++ ) { final boolean lower = ignoreCase && (sqlTypes[i] == Types.VARCHAR || sqlTypes[i] == Types.CHAR || sqlTypes[i] == Types.NVARCHAR || sqlTypes[i] == Types.NCHAR); if ( lower ) { fragment.append( factory.getDialect().getLowercaseFunction() ).append( '(' ); } fragment.append( columns[i] ); if ( lower ) { fragment.append( ')' ); } fragment.append( getOp() ).append( "?" ); if ( i < columns.length - 1 ) { fragment.append( " and " ); } } if ( columns.length > 1 ) { fragment.append( ')' ); } return fragment.toString(); }
public String toString() { return propertyName + getOp() + value; }
public String toString() { return propertyName + getOp() + value; }
public String toString() { return propertyName + getOp() + value; }
public String toString() { return propertyName + getOp() + value; }
public Map<String, Object> getNaturalIdValues() { final Map<String, Object> naturalIdValueMap = new ConcurrentHashMap<String, Object>(); for ( Criterion condition : conjunction.conditions() ) { if ( !SimpleExpression.class.isInstance( condition ) ) { continue; } final SimpleExpression equalsCondition = SimpleExpression.class.cast( condition ); if ( !"=".equals( equalsCondition.getOp() ) ) { continue; } naturalIdValueMap.put( equalsCondition.getPropertyName(), equalsCondition.getValue() ); } return naturalIdValueMap; }
public Map<String, Object> getNaturalIdValues() { final Map<String, Object> naturalIdValueMap = new ConcurrentHashMap<String, Object>(); for ( Criterion condition : conjunction.conditions() ) { if ( !SimpleExpression.class.isInstance( condition ) ) { continue; } final SimpleExpression equalsCondition = SimpleExpression.class.cast( condition ); if ( !"=".equals( equalsCondition.getOp() ) ) { continue; } naturalIdValueMap.put( equalsCondition.getPropertyName(), equalsCondition.getValue() ); } return naturalIdValueMap; }
public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { String[] columns = criteriaQuery.getColumnsUsingProjection(criteria, propertyName); Type type = criteriaQuery.getTypeUsingProjection(criteria, propertyName); StringBuffer fragment = new StringBuffer(); if (columns.length>1) fragment.append('('); SessionFactoryImplementor factory = criteriaQuery.getFactory(); int[] sqlTypes = type.sqlTypes( factory ); for ( int i=0; i<columns.length; i++ ) { boolean lower = ignoreCase && ( sqlTypes[i]==Types.VARCHAR || sqlTypes[i]==Types.CHAR ); if (lower) { fragment.append( factory.getDialect().getLowercaseFunction() ) .append('('); } fragment.append( columns[i] ); if (lower) fragment.append(')'); fragment.append( getOp() ).append("?"); if ( i<columns.length-1 ) fragment.append(" and "); } if (columns.length>1) fragment.append(')'); return fragment.toString(); }
public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { String[] columns = criteriaQuery.getColumnsUsingProjection(criteria, propertyName); if (ignoreCase) { if ( columns.length!=1 ) throw new HibernateException( "case insensitive expression may only be applied to single-column properties: " + propertyName ); return new StringBuffer() .append( criteriaQuery.getFactory().getDialect().getLowercaseFunction() ) .append('(') .append( columns[0] ) .append(')') .append( getOp() ) .append("?") .toString(); } else { String result = StringHelper.join( " and ", StringHelper.suffix( columns, getOp() + "?" ) ); if (columns.length>1) result = '(' + result + ')'; return result; } //TODO: get SQL rendering out of this package! }
fragment.append( ')' ); fragment.append( getOp() ).append( "?" ); if ( i < columns.length - 1 ) { fragment.append( " and " );
fragment.append( ')' ); fragment.append( getOp() ).append( "?" ); if ( i < columns.length - 1 ) { fragment.append( " and " );