org.hibernate.transform
Class AliasToBeanResultTransformer

java.lang.Object
  extended by org.hibernate.transform.BasicTransformerAdapter
      extended by org.hibernate.transform.AliasedTupleSubsetResultTransformer
          extended by org.hibernate.transform.AliasToBeanResultTransformer
All Implemented Interfaces:
Serializable, ResultTransformer, TupleSubsetResultTransformer

public class AliasToBeanResultTransformer
extends AliasedTupleSubsetResultTransformer

Result transformer that allows to transform a result to a user specified class which will be populated via setter methods or fields matching the alias names.

 List resultWithAliasedBean = s.createCriteria(Enrolment.class)
                        .createAlias("student", "st")
                        .createAlias("course", "co")
                        .setProjection( Projections.projectionList()
                                        .add( Projections.property("co.description"), "courseDescription" )
                        )
                        .setResultTransformer( new AliasToBeanResultTransformer(StudentDTO.class) )
                        .list();
 

StudentDTO dto = (StudentDTO)resultWithAliasedBean.get(0);

See Also:
Serialized Form

Constructor Summary
AliasToBeanResultTransformer(Class resultClass)
           
 
Method Summary
 boolean equals(Object o)
           
 int hashCode()
           
 boolean isTransformedValueATupleElement(String[] aliases, int tupleLength)
          When a tuple is transformed, is the result a single element of the tuple?
 Object transformTuple(Object[] tuple, String[] aliases)
          Tuples are the elements making up each "row" of the query result.
 
Methods inherited from class org.hibernate.transform.AliasedTupleSubsetResultTransformer
includeInTransform
 
Methods inherited from class org.hibernate.transform.BasicTransformerAdapter
transformList
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.hibernate.transform.ResultTransformer
transformList
 

Constructor Detail

AliasToBeanResultTransformer

public AliasToBeanResultTransformer(Class resultClass)
Method Detail

isTransformedValueATupleElement

public boolean isTransformedValueATupleElement(String[] aliases,
                                               int tupleLength)
When a tuple is transformed, is the result a single element of the tuple?

Parameters:
aliases - - the aliases that correspond to the tuple
tupleLength - - the number of elements in the tuple
Returns:
true, if the transformed value is a single element of the tuple; false, otherwise.

transformTuple

public Object transformTuple(Object[] tuple,
                             String[] aliases)
Description copied from interface: ResultTransformer
Tuples are the elements making up each "row" of the query result. The contract here is to transform these elements into the final row.

Specified by:
transformTuple in interface ResultTransformer
Overrides:
transformTuple in class BasicTransformerAdapter
Parameters:
tuple - The result elements
aliases - The result aliases ("parallel" array to tuple)
Returns:
The transformed row.

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object


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