org.ow2.dragon.persistence.util
Class ORMQueryHelper

java.lang.Object
  extended by org.ow2.dragon.persistence.util.ORMQueryHelper

public class ORMQueryHelper
extends java.lang.Object

Author:
ofabre - eBM Websourcing

Field Summary
static java.lang.String EQUALS_STATEMENT
           
static java.lang.String LIKE_STATEMENT
           
 
Constructor Summary
ORMQueryHelper()
           
 
Method Summary
static void addCriteriaPlaceHolder(java.lang.StringBuffer queryString, int i)
           
static void addInnerJoinStatement(java.lang.StringBuffer queryString, java.lang.String clazzAlias, java.lang.String fieldName)
          Create an inner join statement for a given field.
static void addJoinStatement(java.lang.String[] properties, java.lang.StringBuffer queryString, java.lang.String clazzAlias)
          For each properties: if the property is a dotted property (contains one or more "." character), add an inner join statement for each field following the dot.
static void addSearchCriteriaInQuery(java.lang.String[] criteria, java.lang.String[] properties, java.lang.StringBuffer queryString, java.lang.String clazzAlias, java.lang.String statementType, boolean caseSensitive)
          Add a where clause to the hibernate query
static void addSearchedProperty(java.lang.StringBuffer queryString, java.lang.String clazzAlias, java.lang.String p)
          Add a searched property to the hibernate query
static void addSelectDistinctStatement(java.lang.StringBuffer queryString, java.lang.String simpleClazzName, java.lang.String fullClazzName)
          Add a select distinct statement with the simple class name as alias
static void addStatementType(java.lang.StringBuffer queryString, java.lang.String statementType)
           
static void fillPlaceHolder(java.lang.String[] criteria, org.hibernate.Query query, java.lang.String statementType, boolean caseSensitive)
          Replace each place holder by the corresponding criteria
static java.util.List sortAndPaginateByCriteria(org.springframework.orm.hibernate3.HibernateTemplate template, RequestOptions requestOptions, org.hibernate.criterion.DetachedCriteria detachedCriteria)
           
static org.hibernate.Query sortAndPaginateByQuery(org.hibernate.Session session, RequestOptions requestOptions, java.lang.StringBuffer queryString, java.lang.String clazzAlias)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EQUALS_STATEMENT

public static final java.lang.String EQUALS_STATEMENT
See Also:
Constant Field Values

LIKE_STATEMENT

public static final java.lang.String LIKE_STATEMENT
See Also:
Constant Field Values
Constructor Detail

ORMQueryHelper

public ORMQueryHelper()
Method Detail

addCriteriaPlaceHolder

public static void addCriteriaPlaceHolder(java.lang.StringBuffer queryString,
                                          int i)

addInnerJoinStatement

public static void addInnerJoinStatement(java.lang.StringBuffer queryString,
                                         java.lang.String clazzAlias,
                                         java.lang.String fieldName)
Create an inner join statement for a given field. Use the field name as alias for the joined field.

Parameters:
queryString - the StringBuffer representing the hibernate query
clazzAlias - the simple class name used as alias or a field name that must be joined
fieldName - the field name to join

addJoinStatement

public static void addJoinStatement(java.lang.String[] properties,
                                    java.lang.StringBuffer queryString,
                                    java.lang.String clazzAlias)
For each properties: if the property is a dotted property (contains one or more "." character), add an inner join statement for each field following the dot.

Parameters:
properties - properties array containing possible dotted properties
queryString - the StringBuffer representing the hibernate query
clazzAlias - the simple class name used as alias

addSearchCriteriaInQuery

public static void addSearchCriteriaInQuery(java.lang.String[] criteria,
                                            java.lang.String[] properties,
                                            java.lang.StringBuffer queryString,
                                            java.lang.String clazzAlias,
                                            java.lang.String statementType,
                                            boolean caseSensitive)
Add a where clause to the hibernate query

Parameters:
criteria - an array of criterii ( String )
properties - the properties to search on
queryString - the StringBuffer representing the hibernate query
clazzAlias - the simple class name used as alias
statementType - type of search (strict equality, similarity...)

addSearchedProperty

public static void addSearchedProperty(java.lang.StringBuffer queryString,
                                       java.lang.String clazzAlias,
                                       java.lang.String p)
Add a searched property to the hibernate query

Parameters:
queryString - the StringBuffer representing the hibernate query
clazzAlias - the simple class name used as alias
p - a property (can be a simple or dotted property)

addSelectDistinctStatement

public static void addSelectDistinctStatement(java.lang.StringBuffer queryString,
                                              java.lang.String simpleClazzName,
                                              java.lang.String fullClazzName)
Add a select distinct statement with the simple class name as alias

Parameters:
queryString - the StringBuffer representing the hibernate query
simpleClazzName - the simple class name used as alias
fullClazzName - the full class name used for the select statement

addStatementType

public static void addStatementType(java.lang.StringBuffer queryString,
                                    java.lang.String statementType)

fillPlaceHolder

public static void fillPlaceHolder(java.lang.String[] criteria,
                                   org.hibernate.Query query,
                                   java.lang.String statementType,
                                   boolean caseSensitive)
Replace each place holder by the corresponding criteria

Parameters:
criteria - the criteria array
query - the hibernate query
statementType - the type of statement (equality or likeness)
caseSensitive -

sortAndPaginateByQuery

public static org.hibernate.Query sortAndPaginateByQuery(org.hibernate.Session session,
                                                         RequestOptions requestOptions,
                                                         java.lang.StringBuffer queryString,
                                                         java.lang.String clazzAlias)

sortAndPaginateByCriteria

public static java.util.List sortAndPaginateByCriteria(org.springframework.orm.hibernate3.HibernateTemplate template,
                                                       RequestOptions requestOptions,
                                                       org.hibernate.criterion.DetachedCriteria detachedCriteria)


Copyright © 2008 eBMWebsourcing. All Rights Reserved.