ConditionFragment byId = new ConditionFragment() .setTableAlias( alias ) .setCondition( columnNames, "?" );
final ConditionFragment keyRestrictionBuilder = new ConditionFragment() .setTableAlias( alias ) .setCondition( keyColumnNames, "?" );
@Override public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { final String entityName =criteriaQuery.getEntityName( criteria, propertyName ); final String role = entityName + '.' + criteriaQuery.getPropertyName( propertyName ); final QueryableCollection cp = (QueryableCollection) criteriaQuery.getFactory().getCollectionPersister( role ); final String[] fk = cp.getKeyColumnNames(); final String[] pk = ( (Loadable) cp.getOwnerEntityPersister() ).getIdentifierColumnNames(); final ConditionFragment subQueryRestriction = new ConditionFragment() .setTableAlias( criteriaQuery.getSQLAlias( criteria, propertyName ) ) .setCondition( pk, fk ); return String.format( Locale.ROOT, "? %s (select count(*) from %s where %s)", op, cp.getTableName(), subQueryRestriction.toFragmentString() ); }
@Override public final String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { final String entityName = criteriaQuery.getEntityName( criteria, propertyName ); final String actualPropertyName = criteriaQuery.getPropertyName( propertyName ); final String sqlAlias = criteriaQuery.getSQLAlias( criteria, propertyName ); final SessionFactoryImplementor factory = criteriaQuery.getFactory(); final QueryableCollection collectionPersister = getQueryableCollection( entityName, actualPropertyName, factory ); final String[] collectionKeys = collectionPersister.getKeyColumnNames(); final String[] ownerKeys = ( (Loadable) factory.getEntityPersister( entityName ) ).getIdentifierColumnNames(); final String innerSelect = "(select 1 from " + collectionPersister.getTableName() + " where " + new ConditionFragment().setTableAlias( sqlAlias ).setCondition( ownerKeys, collectionKeys ).toFragmentString() + ")"; return excludeEmpty() ? "exists " + innerSelect : "not exists " + innerSelect; }
public static ConditionFragment like() { return new ConditionFragment().setOp(" like "); }
public static ConditionFragment equals() { return new ConditionFragment().setOp(" = "); }
public static ConditionFragment lower() { return new ConditionFragment().setOp(" < "); }
public static ConditionFragment high() { return new ConditionFragment().setOp(" > "); }
public static ConditionFragment between() { return new ConditionFragment().setOp(" between "); }
ConditionFragment byId = new ConditionFragment() .setTableAlias(alias) .setCondition( columnNames, "?" );
ConditionFragment byId = new ConditionFragment() .setTableAlias(alias) .setCondition( columnNames, "?" );
.getIdentifierColumnNames(); return " (select count(*) from " + cp.getTableName() + " where " + new ConditionFragment() .setTableAlias( criteriaQuery.getSQLAlias(criteria, propertyName)
public final String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { String entityName = criteriaQuery.getEntityName( criteria, propertyName ); String actualPropertyName = criteriaQuery.getPropertyName( propertyName ); String sqlAlias = criteriaQuery.getSQLAlias( criteria, propertyName ); SessionFactoryImplementor factory = criteriaQuery.getFactory(); QueryableCollection collectionPersister = getQueryableCollection( entityName, actualPropertyName, factory ); String[] collectionKeys = collectionPersister.getKeyColumnNames(); String[] ownerKeys = ( ( Loadable ) factory.getEntityPersister( entityName ) ).getIdentifierColumnNames(); String innerSelect = "(select 1 from " + collectionPersister.getTableName() + " where " + new ConditionFragment().setTableAlias( sqlAlias ).setCondition( ownerKeys, collectionKeys ).toFragmentString() + ")"; return excludeEmpty() ? "exists " + innerSelect : "not exists " + innerSelect; }
public final String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { String entityName = criteriaQuery.getEntityName( criteria, propertyName ); String actualPropertyName = criteriaQuery.getPropertyName( propertyName ); String sqlAlias = criteriaQuery.getSQLAlias( criteria, propertyName ); SessionFactoryImplementor factory = criteriaQuery.getFactory(); QueryableCollection collectionPersister = getQueryableCollection( entityName, actualPropertyName, factory ); String[] collectionKeys = collectionPersister.getKeyColumnNames(); String[] ownerKeys = ( ( Loadable ) factory.getEntityPersister( entityName ) ).getIdentifierColumnNames(); String innerSelect = "(select 1 from " + collectionPersister.getTableName() + " where " + new ConditionFragment().setTableAlias( sqlAlias ).setCondition( ownerKeys, collectionKeys ).toFragmentString() + ")"; return excludeEmpty() ? "exists " + innerSelect : "not exists " + innerSelect; }
public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { String role = criteriaQuery.getEntityName(criteria, propertyName) + '.' + criteriaQuery.getPropertyName(propertyName); QueryableCollection cp = (QueryableCollection) criteriaQuery.getFactory().getCollectionPersister(role); //String[] fk = StringHelper.qualify( "collection_", cp.getKeyColumnNames() ); String[] fk = cp.getKeyColumnNames(); String[] pk = ( (Loadable) cp.getOwnerEntityPersister() ).getIdentifierColumnNames(); //TODO: handle property-ref return "? = (select count(*) from " + cp.getTableName() + //" collection_ where " + " where " + new ConditionFragment() .setTableAlias( criteriaQuery.getSQLAlias(criteria, propertyName) ) .setCondition(pk, fk) .toFragmentString() + ")"; }
public final String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { String entityName = criteriaQuery.getEntityName( criteria, propertyName ); String actualPropertyName = criteriaQuery.getPropertyName( propertyName ); String sqlAlias = criteriaQuery.getSQLAlias( criteria, propertyName ); SessionFactoryImplementor factory = criteriaQuery.getFactory(); QueryableCollection collectionPersister = getQueryableCollection( entityName, actualPropertyName, factory ); String[] collectionKeys = collectionPersister.getKeyColumnNames(); String[] ownerKeys = ( ( Loadable ) factory.getEntityPersister( entityName ) ).getIdentifierColumnNames(); String innerSelect = "(select 1 from " + collectionPersister.getTableName() + " where " + new ConditionFragment().setTableAlias( sqlAlias ).setCondition( ownerKeys, collectionKeys ).toFragmentString() + ")"; return excludeEmpty() ? "exists " + innerSelect : "not exists " + innerSelect; }
public final String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { String entityName = criteriaQuery.getEntityName( criteria, propertyName ); String actualPropertyName = criteriaQuery.getPropertyName( propertyName ); String sqlAlias = criteriaQuery.getSQLAlias( criteria, propertyName ); SessionFactoryImplementor factory = criteriaQuery.getFactory(); QueryableCollection collectionPersister = getQueryableCollection( entityName, actualPropertyName, factory ); String[] collectionKeys = collectionPersister.getKeyColumnNames(); String[] ownerKeys = ( ( Loadable ) factory.getEntityPersister( entityName ) ).getIdentifierColumnNames(); String innerSelect = "(select 1 from " + collectionPersister.getTableName() + " where " + new ConditionFragment().setTableAlias( sqlAlias ).setCondition( ownerKeys, collectionKeys ).toFragmentString() + ")"; return excludeEmpty() ? "exists " + innerSelect : "not exists " + innerSelect; }
public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { String role = criteriaQuery.getEntityName(criteria, propertyName) + '.' + criteriaQuery.getPropertyName(propertyName); QueryableCollection cp = (QueryableCollection) criteriaQuery.getFactory() .getCollectionPersister(role); //String[] fk = StringHelper.qualify( "collection_", cp.getKeyColumnNames() ); String[] fk = cp.getKeyColumnNames(); String[] pk = ( (Loadable) cp.getOwnerEntityPersister() ).getIdentifierColumnNames(); //TODO: handle property-ref return "? " + op + " (select count(*) from " + cp.getTableName() + //" collection_ where " + " where " + new ConditionFragment() .setTableAlias( criteriaQuery.getSQLAlias(criteria, propertyName) ) .setCondition(pk, fk) .toFragmentString() + ")"; }
public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { String role = criteriaQuery.getEntityName(criteria, propertyName) + '.' + criteriaQuery.getPropertyName(propertyName); QueryableCollection cp = (QueryableCollection) criteriaQuery.getFactory() .getCollectionPersister(role); //String[] fk = StringHelper.qualify( "collection_", cp.getKeyColumnNames() ); String[] fk = cp.getKeyColumnNames(); String[] pk = ( (Loadable) cp.getOwnerEntityPersister() ).getIdentifierColumnNames(); //TODO: handle property-ref return "? " + op + " (select count(*) from " + cp.getTableName() + //" collection_ where " + " where " + new ConditionFragment() .setTableAlias( criteriaQuery.getSQLAlias(criteria, propertyName) ) .setCondition(pk, fk) .toFragmentString() + ")"; }
public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery) throws HibernateException { String role = criteriaQuery.getEntityName(criteria, propertyName) + '.' + criteriaQuery.getPropertyName(propertyName); QueryableCollection cp = (QueryableCollection) criteriaQuery.getFactory() .getCollectionPersister(role); //String[] fk = StringHelper.qualify( "collection_", cp.getKeyColumnNames() ); String[] fk = cp.getKeyColumnNames(); String[] pk = ( (Loadable) cp.getOwnerEntityPersister() ).getIdentifierColumnNames(); //TODO: handle property-ref return "? " + op + " (select count(*) from " + cp.getTableName() + //" collection_ where " + " where " + new ConditionFragment() .setTableAlias( criteriaQuery.getSQLAlias(criteria, propertyName) ) .setCondition(pk, fk) .toFragmentString() + ")"; }