Annotation Type Basic


  • @Target({METHOD,FIELD})
    @Retention(RUNTIME)
    public @interface Basic
    The simplest type of mapping of a persistent field or property to a single database column.

    The Basic annotation may be applied to a property or instance variable whose type is any one of the following:

    • a Java primitive type, or wrapper of a primitive type,
    • String,
    • BigInteger or BigDecimal,
    • LocalDate, LocalTime, LocalDateTime, OffsetTime, OffsetDateTime, Instant, or Year
    • Date or Calendar,
    • java.sql.Date, java.sql.Time, or java.sql.Timestamp,
    • byte[] or Byte[], char[] or Character[],
    • a Java enum type, or
    • any other serializable type.

    The use of the Basic annotation is optional for persistent fields and properties of these types. If the Basic annotation is not specified for such a field or property, the default values of the Basic annotation apply.

    The database column mapped by the persistent field or property may be specified using the Column annotation.

    Example 1: {@snippet :

    Since:
    1.0
    • Optional Element Summary

      Optional Elements 
      Modifier and Type Optional Element Description
      FetchType fetch
      (Optional) Whether the value of the field or property should be lazily loaded or must be eagerly fetched.
      boolean optional
      (Optional) Specifies whether the value of the field or property may be null.
    • Element Detail

      • fetch

        FetchType fetch
        (Optional) Whether the value of the field or property should be lazily loaded or must be eagerly fetched.
        • The EAGER strategy is a requirement on the persistence provider runtime that the associated entity must be eagerly fetched.
        • The LAZY strategy is a hint to the persistence provider runtime.

        If not specified, defaults to EAGER.

        Default:
        jakarta.persistence.FetchType.EAGER
      • optional

        boolean optional
        (Optional) Specifies whether the value of the field or property may be null.

        This is a hint and is disregarded for primitive types; it may be used in schema generation to infer that the mapped column is not null.

        If not specified, defaults to true.

        Default:
        true