## org.hibernate.criterion
Class Example

    java.lang.Object
      org.hibernate.criterion.Example

All Implemented Interfaces:
  Serializable, Criterion

    public class Example

extends Object
implements Criterion

Support for query by example.

     List results = session.createCriteria(Parent.class)
         .add( Example.create(parent).ignoreCase() )
         .createCriteria("child")
             .add( Example.create( parent.getChild() ) )
         .list();

"Examples" may be mixed and matched with "Expressions" in the same `Criteria`.

See Also:
  `Criteria`, Serialized Form

Nested Class Summary
`static interface` `Example.PropertySelector` A strategy for choosing property values for inclusion in the query criteria

Constructor Summary
`protected` `Example(Object entity, Example.PropertySelector selector)`

Method Summary
`protected void` `addComponentTypedValues(String path, Object component, CompositeType type, List list, Criteria criteria, CriteriaQuery criteriaQuery)`
`protected void` `addPropertyTypedValue(Object value, Type type, List list)`
`protected void` `appendComponentCondition(String path, Object component, CompositeType type, Criteria criteria, CriteriaQuery criteriaQuery, StringBuilder buf)`
`protected void` `appendPropertyCondition(String propertyName, Object propertyValue, Criteria criteria, CriteriaQuery cq, StringBuilder buf)`
`static Example` `create(Object entity)` Create a new instance, which includes all non-null properties by default
`Example` `enableLike()` Use the "like" operator for all string-valued properties
`Example` `enableLike(MatchMode matchMode)` Use the "like" operator for all string-valued properties
`Example` `excludeNone()` Don't exclude null or zero-valued properties
`Example` `excludeProperty(String name)` Exclude a particular named property
`Example` `excludeZeroes()` Exclude zero-valued properties
`TypedValue[]` `getTypedValues(Criteria criteria, CriteriaQuery criteriaQuery)` Return typed values for all parameters in the rendered SQL fragment
`Example` `ignoreCase()` Ignore case for all string-valued properties
`Example` `setEscapeCharacter(Character escapeCharacter)` Set escape character for "like" clause
`Example` `setPropertySelector(Example.PropertySelector selector)` Set the property selector
`String` `toSqlString(Criteria criteria, CriteriaQuery criteriaQuery)` Render the SQL fragment
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Example

    protected Example(Object entity,
                      Example.PropertySelector selector)

Method Detail

### setEscapeCharacter

    public Example setEscapeCharacter(Character escapeCharacter)

  Set escape character for "like" clause

### setPropertySelector

    public Example setPropertySelector(Example.PropertySelector selector)

  Set the property selector

### excludeZeroes

    public Example excludeZeroes()

  Exclude zero-valued properties

### excludeNone

    public Example excludeNone()

  Don't exclude null or zero-valued properties

### enableLike

    public Example enableLike(MatchMode matchMode)

  Use the "like" operator for all string-valued properties

### enableLike

    public Example enableLike()

  Use the "like" operator for all string-valued properties

### ignoreCase

    public Example ignoreCase()

  Ignore case for all string-valued properties

### excludeProperty

    public Example excludeProperty(String name)

  Exclude a particular named property

### create

    public static Example create(Object entity)

  Create a new instance, which includes all non-null properties by default

  Parameters:
    `entity` -
  Returns:
    a new instance of `Example`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### toSqlString

    public String toSqlString(Criteria criteria,
                              CriteriaQuery criteriaQuery)
                       throws HibernateException

  Description copied from interface: `Criterion`
  Render the SQL fragment

  Specified by:
    `toSqlString` in interface `Criterion`
  Parameters:
    `criteria` - The local criteria
    `criteriaQuery` - The overal criteria query
  Returns:
    The generated SQL fragment
  Throws:
    `HibernateException` - Problem during rendering.

### getTypedValues

    public TypedValue[] getTypedValues(Criteria criteria,
                                       CriteriaQuery criteriaQuery)
                                throws HibernateException

  Description copied from interface: `Criterion`
  Return typed values for all parameters in the rendered SQL fragment

  Specified by:
    `getTypedValues` in interface `Criterion`
  Parameters:
    `criteria` - The local criteria
    `criteriaQuery` - The overal criteria query
  Returns:
    The types values (for binding)
  Throws:
    `HibernateException` - Problem determining types.

### addPropertyTypedValue

    protected void addPropertyTypedValue(Object value,
                                         Type type,
                                         List list)

### addComponentTypedValues

    protected void addComponentTypedValues(String path,
                                           Object component,
                                           CompositeType type,
                                           List list,
                                           Criteria criteria,
                                           CriteriaQuery criteriaQuery)
                                    throws HibernateException

  Throws:
    `HibernateException`

### appendPropertyCondition

    protected void appendPropertyCondition(String propertyName,
                                           Object propertyValue,
                                           Criteria criteria,
                                           CriteriaQuery cq,
                                           StringBuilder buf)
                                    throws HibernateException

  Throws:
    `HibernateException`

### appendComponentCondition

    protected void appendComponentCondition(String path,
                                            Object component,
                                            CompositeType type,
                                            Criteria criteria,
                                            CriteriaQuery criteriaQuery,
                                            StringBuilder buf)
                                     throws HibernateException

  Throws:
    `HibernateException`

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.