Class MapResultTransformer<K,​V>

  • All Implemented Interfaces:
    java.io.Serializable, org.hibernate.transform.ResultTransformer
    Direct Known Subclasses:
    MapResultTransformer

    public class MapResultTransformer<K,​V>
    extends java.lang.Object
    implements org.hibernate.transform.ResultTransformer
    The MapResultTransformer allows us to return a Map from a JPA Query.

    If there are aliases named as key or value, then those will be used.

    Otherwise, the first column value is the key while the second one is the Map value.

    For more details about how to use it, check out this article on vladmihalcea.com.

    Since:
    2.9.0
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String KEY_ALIAS  
      private java.util.Map<K,​V> result  
      static java.lang.String VALUE_ALIAS  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List transformList​(java.util.List tuples)
      Return the Map instead of the default List.
      java.lang.Object transformTuple​(java.lang.Object[] tuple, java.lang.String[] aliases)
      Transform the tuple into a key/value pair.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • result

        private java.util.Map<K,​V> result
    • Constructor Detail

      • MapResultTransformer

        public MapResultTransformer()
    • Method Detail

      • transformTuple

        public java.lang.Object transformTuple​(java.lang.Object[] tuple,
                                               java.lang.String[] aliases)
        Transform the tuple into a key/value pair.

        If there are aliases named as key or value, then those will be used.

        Otherwise, the first column value is the key while the second one is the Map value.

        Specified by:
        transformTuple in interface org.hibernate.transform.ResultTransformer
        Parameters:
        tuple - tuple to be transformed to a key/value pair
        aliases - column aliases
        Returns:
        unmodified tuple
      • transformList

        public java.util.List transformList​(java.util.List tuples)
        Return the Map instead of the default List.
        Specified by:
        transformList in interface org.hibernate.transform.ResultTransformer
        Parameters:
        tuples - tuples
        Returns:
        the Map result set