@Override public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) { return '(' + lhs.toSqlString( criteria, criteriaQuery ) + ' ' + getOp() + ' ' + rhs.toSqlString( criteria, criteriaQuery ) + ')'; }
@Override public TypedValue[] getTypedValues(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { return criterion.getTypedValues( criteria, criteriaQuery ); }
public String getWithClause(String path) { final Criterion criterion = withClauseMap.get( path ); return criterion == null ? null : criterion.toSqlString( getCriteria( path ), this ); }
@Override public TypedValue[] getTypedValues(Criteria criteria, CriteriaQuery criteriaQuery) { final TypedValue[] lhsTypedValues = lhs.getTypedValues( criteria, criteriaQuery ); final TypedValue[] rhsTypedValues = rhs.getTypedValues( criteria, criteriaQuery ); final TypedValue[] result = new TypedValue[ lhsTypedValues.length + rhsTypedValues.length ]; System.arraycopy( lhsTypedValues, 0, result, 0, lhsTypedValues.length ); System.arraycopy( rhsTypedValues, 0, result, lhsTypedValues.length, rhsTypedValues.length ); return result; }
@Override public String toSqlString(Criteria crit, CriteriaQuery criteriaQuery) throws HibernateException { if ( conditions.size()==0 ) { return "1=1"; } final StringBuilder buffer = new StringBuilder().append( '(' ); final Iterator itr = conditions.iterator(); while ( itr.hasNext() ) { buffer.append( ( (Criterion) itr.next() ).toSqlString( crit, criteriaQuery ) ); if ( itr.hasNext() ) { buffer.append( ' ' ) .append( nature.getOperator() ) .append( ' ' ); } } return buffer.append( ')' ).toString(); }
@Override public TypedValue[] getTypedValues(Criteria crit, CriteriaQuery criteriaQuery) throws HibernateException { final ArrayList<TypedValue> typedValues = new ArrayList<TypedValue>(); for ( Criterion condition : conditions ) { final TypedValue[] subValues = condition.getTypedValues( crit, criteriaQuery ); Collections.addAll( typedValues, subValues ); } return typedValues.toArray( new TypedValue[ typedValues.size() ] ); }
public String getWhereCondition() { StringBuilder condition = new StringBuilder( 30 ); Iterator<CriteriaImpl.CriterionEntry> criterionIterator = rootCriteria.iterateExpressionEntries(); while ( criterionIterator.hasNext() ) { CriteriaImpl.CriterionEntry entry = criterionIterator.next(); String sqlString = entry.getCriterion().toSqlString( entry.getCriteria(), this ); condition.append( sqlString ); if ( criterionIterator.hasNext() ) { condition.append( " and " ); } } return condition.toString(); }
final TypedValue[] tv = subcriteria.getWithClause().getTypedValues( subcriteria, this ); for ( TypedValue aTv : tv ) { values.add( aTv.getValue() ); while ( iter.hasNext() ) { final CriteriaImpl.CriterionEntry ce = iter.next(); final TypedValue[] tv = ce.getCriterion().getTypedValues( ce.getCriteria(), this ); for ( TypedValue aTv : tv ) { values.add( aTv.getValue() );
final String conditionFragment = condition.toSqlString( criteria, cq ); if ( conditionFragment.trim().length() > 0 ) { if ( buf.length() > 1 ) {
public TypedValue[] getTypedValues( Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { return criterion.getTypedValues(criteria, criteriaQuery); }
@Override public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { return criteriaQuery.getFactory().getDialect().getNotExpression( criterion.toSqlString( criteria, criteriaQuery ) ); }
public TypedValue[] getTypedValues( Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { return criterion.getTypedValues(criteria, criteriaQuery); }
@Test public void testIlikeMimicing() { SessionFactory sf = new Configuration() .addAnnotatedClass( IrrelevantEntity.class ) .setProperty( AvailableSettings.DIALECT, NonIlikeSupportingDialect.class.getName() ) .setProperty( Environment.HBM2DDL_AUTO, "create-drop" ) .buildSessionFactory(); try { final Criteria criteria = sf.openSession().createCriteria( IrrelevantEntity.class ); final CriteriaQueryTranslator translator = new CriteriaQueryTranslator( (SessionFactoryImplementor) sf, (CriteriaImpl) criteria, IrrelevantEntity.class.getName(), "a" ); final Criterion ilikeExpression = Restrictions.ilike( "name", "abc" ); final String ilikeExpressionSqlFragment = ilikeExpression.toSqlString( criteria, translator ); assertEquals( "lowLowLow(a.name) like ?", ilikeExpressionSqlFragment ); } finally { sf.close(); } }
public TypedValue[] getTypedValues( Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { return criterion.getTypedValues(criteria, criteriaQuery); }
@Test public void testIlikeRendering() { SessionFactory sf = new Configuration() .addAnnotatedClass( IrrelevantEntity.class ) .setProperty( AvailableSettings.DIALECT, IlikeSupportingDialect.class.getName() ) .setProperty( Environment.HBM2DDL_AUTO, "create-drop" ) .buildSessionFactory(); try { final Criteria criteria = sf.openSession().createCriteria( IrrelevantEntity.class ); final CriteriaQueryTranslator translator = new CriteriaQueryTranslator( (SessionFactoryImplementor) sf, (CriteriaImpl) criteria, IrrelevantEntity.class.getName(), "a" ); final Criterion ilikeExpression = Restrictions.ilike( "name", "abc" ); final String ilikeExpressionSqlFragment = ilikeExpression.toSqlString( criteria, translator ); assertEquals( "a.name insensitiveLike ?", ilikeExpressionSqlFragment ); } finally { sf.close(); } }
public TypedValue[] getTypedValues( Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { return criterion.getTypedValues(criteria, criteriaQuery); }
public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { return '(' + lhs.toSqlString(criteria, criteriaQuery) + ' ' + getOp() + ' ' + rhs.toSqlString(criteria, criteriaQuery) + ')'; }
public TypedValue[] getTypedValues(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { TypedValue[] lhstv = lhs.getTypedValues(criteria, criteriaQuery); TypedValue[] rhstv = rhs.getTypedValues(criteria, criteriaQuery); TypedValue[] result = new TypedValue[ lhstv.length + rhstv.length ]; System.arraycopy(lhstv, 0, result, 0, lhstv.length); System.arraycopy(rhstv, 0, result, lhstv.length, rhstv.length); return result; }
public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { return '(' + lhs.toSqlString(criteria, criteriaQuery) + ' ' + getOp() + ' ' + rhs.toSqlString(criteria, criteriaQuery) + ')'; }
public TypedValue[] getTypedValues(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { TypedValue[] lhstv = lhs.getTypedValues(criteria, criteriaQuery); TypedValue[] rhstv = rhs.getTypedValues(criteria, criteriaQuery); TypedValue[] result = new TypedValue[ lhstv.length + rhstv.length ]; System.arraycopy(lhstv, 0, result, 0, lhstv.length); System.arraycopy(rhstv, 0, result, lhstv.length, rhstv.length); return result; }