Query buildQuery(Session session) { String builtQuery = stringQueryBuilder.toString(); builtQuery = replaceHQLAliasesBySQLAliases(builtQuery); SQLQuery sqlQuery = session.createSQLQuery(builtQuery); addConstantsAsParameters(sqlQuery); setReturnType(builtQuery, sqlQuery); return sqlQuery; }
private void setReturnType(String builtQuery, SQLQuery sqlQuery) { if (isCountQuery(builtQuery)) { sqlQuery.addScalar("count", LongType.INSTANCE); } else { String hqlAlias = classAliasMappings.get(entityType.getName()); String sqlAlias = hqlToSqlAlias.containsKey(hqlAlias) ? hqlAlias.replace("user", "user_") : hqlAlias; Class<? extends PersistentObject> entityClass = interfaceToClassMapping.get(entityType.getName()); sqlQuery.addEntity(sqlAlias, entityClass.getName()); } }
@Override protected Object processValue(Object fieldValue) { Object value = super.processValue(fieldValue); if (value instanceof Boolean) { if (useIntegerForBoolean(vendor)) { value = (Boolean) value ? 1 : 0; } } return value; }
public QueryBuilder createQueryBuilderFor(Query query, Class<? extends PersistentObject> entityType, OrderByBuilder orderByBuilder, Map<String, String> classAliasMappings, Map<String, Class<? extends PersistentObject>> interfaceToClassMapping, char likeEscapeCharacter) { if (query instanceof SQLQuery) { return new SQLQueryBuilder(query.getQueryString(), vendor, entityType, orderByBuilder, classAliasMappings, interfaceToClassMapping, likeEscapeCharacter); } else { return new HQLQueryBuilder(query.getQueryString(), orderByBuilder, classAliasMappings, interfaceToClassMapping, likeEscapeCharacter); } }
public QueryBuilder createQueryBuilderFor(Query query, Class<? extends PersistentObject> entityType, OrderByBuilder orderByBuilder, Map<String, String> classAliasMappings, Map<String, Class<? extends PersistentObject>> interfaceToClassMapping, char likeEscapeCharacter) { if (query instanceof SQLQuery) { return new SQLQueryBuilder(query.getQueryString(), vendor, entityType, orderByBuilder, classAliasMappings, interfaceToClassMapping, likeEscapeCharacter); } else { return new HQLQueryBuilder(query.getQueryString(), orderByBuilder, classAliasMappings, interfaceToClassMapping, likeEscapeCharacter); } }
Query buildQuery(Session session) { String builtQuery = stringQueryBuilder.toString(); builtQuery = replaceHQLAliasesBySQLAliases(builtQuery); SQLQuery sqlQuery = session.createSQLQuery(builtQuery); addConstantsAsParameters(sqlQuery); setReturnType(builtQuery, sqlQuery); return sqlQuery; }
@Override protected Object processValue(Object fieldValue) { Object value = super.processValue(fieldValue); if (value instanceof Boolean) { if (useIntegerForBoolean(vendor)) { value = (Boolean) value ? 1 : 0; } } return value; }
private void setReturnType(String builtQuery, SQLQuery sqlQuery) { if (isCountQuery(builtQuery)) { sqlQuery.addScalar("count", LongType.INSTANCE); } else { String hqlAlias = classAliasMappings.get(entityType.getName()); String sqlAlias = hqlToSqlAlias.containsKey(hqlAlias) ? hqlAlias.replace("user", "user_") : hqlAlias; Class<? extends PersistentObject> entityClass = interfaceToClassMapping.get(entityType.getName()); sqlQuery.addEntity(sqlAlias, entityClass.getName()); } }
private void addConstantsAsParameters(SQLQuery sqlQuery) { if (sqlQuery.getQueryString().contains(":" + TRUE_VALUE_PARAMETER)) { if (useIntegerForBoolean(vendor)) { sqlQuery.setParameter(TRUE_VALUE_PARAMETER, 1); } else { sqlQuery.setParameter(TRUE_VALUE_PARAMETER, true); } } }
private void addConstantsAsParameters(SQLQuery sqlQuery) { if (sqlQuery.getQueryString().contains(":" + TRUE_VALUE_PARAMETER)) { if (useIntegerForBoolean(vendor)) { sqlQuery.setParameter(TRUE_VALUE_PARAMETER, 1); } else { sqlQuery.setParameter(TRUE_VALUE_PARAMETER, true); } } }