Module eclipselink

Annotation Interface Transformation


@Target({METHOD,FIELD}) @Retention(RUNTIME) public @interface Transformation
Transformation is an optional annotation for TransformationMapping. TransformationMapping allows to map an attribute to one or more database columns.

Transformation annotation is an optional part of TransformationMapping definition. Unless the TransformationMapping is write-only, it should have a ReadTransformer defining transformation of database column(s) value(s)into attribute value. Also, unless it's a read-only mapping, either WriteTransformer annotation or WriteTransformers annotation should be specified. Each WriteTransformer defines transformation of the attribute value to a single database column value (column is specified in the WriteTransformer).

Transformation can be specified within an Entity, MappedSuperclass and Embeddable class.

See Also:
Author:
Andrei Ilitchev
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    jakarta.persistence.FetchType
    Defines whether the value of the field or property should be lazily loaded or must be eagerly fetched.
    boolean
    The optional element is a hint whether the value of the field or property may be null.
  • Element Details

    • fetch

      jakarta.persistence.FetchType fetch
      Defines whether the value of the field or property should be lazily loaded or must be eagerly fetched. The FetchType.EAGER strategy is a requirement on the persistence provider runtime that the value must be eagerly fetched. The FetchType.LAZY strategy is a hint to the persistence provider runtime.

      If not specified, defaults to FetchType.EAGER.

      Default:
      EAGER
    • optional

      boolean optional
      The optional element is a hint whether the value of the field or property may be null. It is disregarded for primitive types, which are considered non-optional.
      Default:
      true