Annotation Type ElementCollection


@Retention(CLASS) @Target(FIELD) public @interface ElementCollection
Mapping for an owned collection of scalar values.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Names the scalar value column in the collection table.
    Controls relationship initialization.
    Names the column that stores each element's position, which keys the table together with the owner and keeps a List's order and duplicates.
  • Element Details

    • fetch

      FetchType fetch
      Controls relationship initialization.
      Returns:
      fetch policy; EAGER for to-one and LAZY for collections by default
      Default:
      LAZY
    • column

      String column
      Names the scalar value column in the collection table.
      Returns:
      column name; element_value by default
      Default:
      "element_value"
    • positionColumn

      String positionColumn

      Names the column that stores each element's position, which keys the table together with the owner and keeps a List's order and duplicates.

      An empty name maps a Set to a table with no position column, keyed by the owner and the value -- the layout JPA providers create, so a table one of them made can be adopted as it is. Such a Set cannot hold null, and a text value is limited to 255 characters, like any text key.

      Returns:
      column name; element_position by default, empty for none
      Default:
      "element_position"