jodd.db.orm.sqlgen
Class DbEntitySearcher

java.lang.Object
  extended by jodd.db.orm.sqlgen.DbEntitySearcher
All Implemented Interfaces:
DbSqlGenerator

public class DbEntitySearcher
extends java.lang.Object
implements DbSqlGenerator

Simple entity searcher. It may be applied directly on entity objects, but developers may create so-called search objects - that extends entity objects and adds more fields


Field Summary
protected  DbOrmManager dbOrmManager
           
protected  DbEntityDescriptor ded
           
protected  java.lang.Object entity
           
protected  jodd.introspector.ClassDescriptor entityClassDescriptor
           
protected  java.util.Map<java.lang.String,ParameterValue> queryParameters
           
 
Constructor Summary
DbEntitySearcher(java.lang.Object entity)
           
 
Method Summary
protected  boolean forEachField(java.lang.StringBuilder query, java.lang.reflect.Field field, java.lang.Object value)
          Builds condition for single non-null field.
 java.lang.String generateQuery()
          Generates SQL query.
 java.util.Map<java.lang.String,ColumnData> getColumnData()
          Returns an optional map of table and column names, used by ResultSetMapper.
 java.lang.String[] getJoinHints()
          Returns join hints.
 java.util.Map<java.lang.String,ParameterValue> getQueryParameters()
          Returns a map of SQL parameters used by generated query.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

entity

protected final java.lang.Object entity

entityClassDescriptor

protected final jodd.introspector.ClassDescriptor entityClassDescriptor

dbOrmManager

protected final DbOrmManager dbOrmManager

ded

protected final DbEntityDescriptor ded

queryParameters

protected java.util.Map<java.lang.String,ParameterValue> queryParameters
Constructor Detail

DbEntitySearcher

public DbEntitySearcher(java.lang.Object entity)
Method Detail

generateQuery

public java.lang.String generateQuery()
Generates SQL query.

Specified by:
generateQuery in interface DbSqlGenerator

forEachField

protected boolean forEachField(java.lang.StringBuilder query,
                               java.lang.reflect.Field field,
                               java.lang.Object value)
Builds condition for single non-null field. By default, all String values are using like operator. All collections are using in operator. All other type are using equals.

Returns:
true if condition query is generated, false otherwise.

getQueryParameters

public java.util.Map<java.lang.String,ParameterValue> getQueryParameters()
Returns a map of SQL parameters used by generated query. Must be invoked only after the DbSqlGenerator.generateQuery(). May be null

Specified by:
getQueryParameters in interface DbSqlGenerator

getColumnData

public java.util.Map<java.lang.String,ColumnData> getColumnData()
Returns an optional map of table and column names, used by ResultSetMapper. May be null.

Specified by:
getColumnData in interface DbSqlGenerator

getJoinHints

public java.lang.String[] getJoinHints()
Returns join hints. May be null.

Specified by:
getJoinHints in interface DbSqlGenerator


Copyright © 2003-2010 Jodd Team