javax.persistence.criteria

## Interface MapJoin<Z,K,V>

Type Parameters:
  `Z` - the source type of the join
  `K` - the type of the target Map key
  `V` - the type of the target Map value

All Superinterfaces:
  Expression<V>, FetchParent<Z,V>, From<Z,V>, Join<Z,V>, Path<V>, PluralJoin<Z,java.util.Map<K,V>,V>, Selection<V>, TupleElement<V>

    public interface MapJoin<Z,K,V>
    extends PluralJoin<Z,java.util.Map<K,V>,V>

The `MapJoin` interface is the type of the result of joining to a collection over an association or element collection that has been specified as a `java.util.Map`.

Since:
  Java Persistence 2.0

### Method Summary

All Methods Instance Methods Abstract Methods
`Expression<java.util.Map.Entry<K,V>>` `entry()` Create an expression that corresponds to the map entry.
`MapAttribute<? super Z,K,V>` `getModel()` Return the metamodel representation for the map attribute.
`Path<K>` `key()` Create a path expression that corresponds to the map key.
`MapJoin<Z,K,V>` `on(Expression<java.lang.Boolean> restriction)` Modify the join to restrict the result according to the specified ON condition and return the join object.
`MapJoin<Z,K,V>` `on(Predicate... restrictions)` Modify the join to restrict the result according to the specified ON condition and return the join object.
`Path<V>` `value()` Create a path expression that corresponds to the map value.

### Methods inherited from interface javax.persistence.criteria.Join

`getAttribute, getJoinType, getOn, getParent`

### Methods inherited from interface javax.persistence.criteria.From

`getCorrelationParent, getJoins, isCorrelated, join, join, join, join, join, join, join, join, join, join, join, join, joinCollection, joinCollection, joinList, joinList, joinMap, joinMap, joinSet, joinSet`

### Methods inherited from interface javax.persistence.criteria.Path

`get, get, get, get, getParentPath, type`

### Methods inherited from interface javax.persistence.criteria.Expression

`as, in, in, in, in, isNotNull, isNull`

### Methods inherited from interface javax.persistence.criteria.Selection

`alias, getCompoundSelectionItems, isCompoundSelection`

### Methods inherited from interface javax.persistence.TupleElement

`getAlias, getJavaType`

### Methods inherited from interface javax.persistence.criteria.FetchParent

`fetch, fetch, fetch, fetch, fetch, fetch, getFetches`

### Method Detail

#### on

    MapJoin<Z,K,V> on(Expression<java.lang.Boolean> restriction)

Modify the join to restrict the result according to the specified ON condition and return the join object. Replaces the previous ON condition, if any.

Specified by:
  `on` in interface `Join<Z,V>`
Parameters:
  `restriction` - a simple or compound boolean expression
Returns:
  the modified join object
Since:
  Java Persistence 2.1

#### on

    MapJoin<Z,K,V> on(Predicate... restrictions)

Modify the join to restrict the result according to the specified ON condition and return the join object. Replaces the previous ON condition, if any.

Specified by:
  `on` in interface `Join<Z,V>`
Parameters:
  `restrictions` - zero or more restriction predicates
Returns:
  the modified join object
Since:
  Java Persistence 2.1

#### getModel

    MapAttribute<? super Z,K,V> getModel()

Return the metamodel representation for the map attribute.

Specified by:
  `getModel` in interface `Path<V>`
Specified by:
  `getModel` in interface `PluralJoin<Z,java.util.Map<K,V>,V>`
Returns:
  metamodel type representing the `Map` that is the target of the join

#### key

    Path<K> key()

Create a path expression that corresponds to the map key.

Returns:
  path corresponding to map key

#### value

    Path<V> value()

Create a path expression that corresponds to the map value. This method is for stylistic use only: it just returns this.

Returns:
  path corresponding to the map value

#### entry

    Expression<java.util.Map.Entry<K,V>> entry()

Create an expression that corresponds to the map entry.

Returns:
  expression corresponding to the map entry