Class MapProperty<K,​V extends Persistent>

    • Constructor Detail

      • MapProperty

        protected MapProperty​(String name,
                              Expression expression,
                              Class<K> keyType,
                              Class<V> entityType)
        Constructs a new property with the given name and expression
        Parameters:
        name - of the property (will be used as alias for the expression)
        expression - expression for property
        keyType - type of keys of the property
        entityType - type of related entities
        See Also:
        PropertyFactory.createMap(String, Expression, Class, Class)
    • Method Detail

      • flat

        public EntityProperty<V> flat()

        Create new "flat" property for toMany relationship.

        Example:

        
             List<Object[]> result = ObjectSelect
                  .columnQuery(Artist.class, Artist.ARTIST_NAME, Artist.PAINTING_ARRAY.flat(Painting.class))
                  .select(context);
             

      • contains

        public Expression contains​(V value)
        Returns:
        An expression representing equality to a value.
      • notContains

        public Expression notContains​(V value)
        Returns:
        An expression representing inequality to a value.
      • contains

        @SafeVarargs
        public final Expression contains​(V firstValue,
                                         V... moreValues)
        Returns:
        An expression for finding objects with values in the given set.
      • contains

        public Expression contains​(Collection<V> values)
        Returns:
        An expression for finding objects with values in the given set.
      • notContains

        public Expression notContains​(Collection<V> values)
        Returns:
        An expression for finding objects with values not in the given set.
      • notContains

        @SafeVarargs
        public final Expression notContains​(V firstValue,
                                            V... moreValues)
        Returns:
        An expression for finding objects with values not in the given set.
      • containsId

        public Expression containsId​(Object id)
        Parameters:
        id - object id
        Returns:
        An expression for finding object with given id.
      • containsId

        public Expression containsId​(Object firstId,
                                     Object... moreId)
        Returns:
        An expression for finding objects with given id set
      • containsId

        public Expression containsId​(Collection<Object> ids)
        Returns:
        An expression for finding objects with given id set.
      • notContainsId

        public Expression notContainsId​(Object id)
        Parameters:
        id - object id
        Returns:
        An expression for finding object without given id.
      • notContainsId

        public Expression notContainsId​(Object firstId,
                                        Object... moreId)
        Returns:
        An expression for finding objects without given id set.
      • notContainsId

        public Expression notContainsId​(Collection<Object> ids)
        Returns:
        An expression for finding objects without given id set.
      • outer

        public MapProperty<K,​V> outer()
        Returns a version of this property that represents an OUTER join. It is up to caller to ensure that the property corresponds to a relationship, as "outer" attributes make no sense.
        Specified by:
        outer in interface RelationshipProperty<K>
      • getKeyType

        protected Class<K> getKeyType()
        Returns:
        type of keys in represented attribute
      • getEntityType

        protected Class<V> getEntityType()
        Returns:
        type of object entity in represented attribute