private String discriminatorFilterFragment(String alias, Set<String> treatAsDeclarations) { final boolean hasTreatAs = treatAsDeclarations != null && !treatAsDeclarations.isEmpty(); if ( !needsDiscriminator() && !hasTreatAs ) { return ""; } final InFragment frag = new InFragment(); if ( isDiscriminatorFormula() ) { frag.setFormula( alias, getDiscriminatorFormulaTemplate() ); } else { frag.setColumn( alias, getDiscriminatorColumnName() ); } if ( hasTreatAs ) { frag.addValues( decodeTreatAsRequests( treatAsDeclarations ) ); } else { frag.addValues( fullDiscriminatorValues() ); } return " and " + frag.toFragmentString(); }
private String discriminatorFilterFragment(String alias) throws MappingException { if ( needsDiscriminator() ) { InFragment frag = new InFragment(); if ( isDiscriminatorFormula() ) { frag.setFormula( alias, getDiscriminatorFormulaTemplate() ); } else { frag.setColumn( alias, getDiscriminatorColumnName() ); } String[] subclasses = getSubclassClosure(); for ( int i=0; i<subclasses.length; i++ ) { final Queryable queryable = (Queryable) getFactory().getEntityPersister( subclasses[i] ); if ( !queryable.isAbstract() ) frag.addValue( queryable.getDiscriminatorSQLValue() ); } StringBuffer buf = new StringBuffer(50) .append(" and ") .append( frag.toFragmentString() ); return buf.toString(); } else { return ""; } }
private String discriminatorFilterFragment(String alias) throws MappingException { if ( needsDiscriminator() ) { InFragment frag = new InFragment(); if ( isDiscriminatorFormula() ) { frag.setFormula( alias, getDiscriminatorFormulaTemplate() ); } else { frag.setColumn( alias, getDiscriminatorColumnName() ); } String[] subclasses = getSubclassClosure(); for ( int i=0; i<subclasses.length; i++ ) { final Queryable queryable = (Queryable) getFactory().getEntityPersister( subclasses[i] ); if ( !queryable.isAbstract() ) frag.addValue( queryable.getDiscriminatorSQLValue() ); } StringBuffer buf = new StringBuffer(50) .append(" and ") .append( frag.toFragmentString() ); return buf.toString(); } else { return ""; } }
private String discriminatorFilterFragment(String alias) throws MappingException { if ( needsDiscriminator() ) { InFragment frag = new InFragment(); if ( isDiscriminatorFormula() ) { frag.setFormula( alias, getDiscriminatorFormulaTemplate() ); } else { frag.setColumn( alias, getDiscriminatorColumnName() ); } String[] subclasses = getSubclassClosure(); for ( int i=0; i<subclasses.length; i++ ) { final Queryable queryable = (Queryable) getFactory().getEntityPersister( subclasses[i] ); if ( !queryable.isAbstract() ) frag.addValue( queryable.getDiscriminatorSQLValue() ); } StringBuffer buf = new StringBuffer(50) .append(" and ") .append( frag.toFragmentString() ); return buf.toString(); } else { return ""; } }
private String discriminatorFilterFragment(String alias) throws MappingException { if ( needsDiscriminator() ) { InFragment frag = new InFragment(); if ( isDiscriminatorFormula() ) { frag.setFormula( alias, getDiscriminatorFormulaTemplate() ); } else { frag.setColumn( alias, getDiscriminatorColumnName() ); } String[] subclasses = getSubclassClosure(); for ( int i=0; i<subclasses.length; i++ ) { final Queryable queryable = (Queryable) getFactory().getEntityPersister( subclasses[i] ); if ( !queryable.isAbstract() ) frag.addValue( queryable.getDiscriminatorSQLValue() ); } StringBuffer buf = new StringBuffer(50) .append(" and ") .append( frag.toFragmentString() ); return buf.toString(); } else { return ""; } }