javax.persistence

## Annotation Type Basic

-     @Target(value={METHOD,FIELD})
      @Retention(value=RUNTIME)
      public @interface Basic

  The simplest type of mapping to a database column. The `Basic` annotation can be applied to a persistent property or instance variable of any of the following types: Java primitive types, wrappers of the primitive types, `String`, `java.math.BigInteger`, `java.math.BigDecimal`, `java.util.Date`, `java.util.Calendar`, `java.sql.Date`, `java.sql.Time`, `java.sql.Timestamp`, `byte[]`, `Byte[]`, `char[]`, `Character[]`, enums, and any other type that implements `java.io.Serializable`.

  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 will apply.

          Example 1:

          @Basic
          protected String name;

          Example 2:

          @Basic(fetch=LAZY)
          protected String getName() { return name; }

  Since:
    Java Persistence 1.0

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `FetchType` | `fetch` (Optional) Defines whether the value of the field or property should be lazily loaded or must be eagerly fetched.
    `boolean` | `optional` (Optional) Defines whether the value of the field or property may be null.

- - ### Element Detail

    - #### fetch

          public abstract FetchType fetch

      (Optional) Defines 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 value must be eagerly fetched. The `LAZY` strategy is a hint to the persistence provider runtime. If not specified, defaults to `EAGER`.
      Default:
        javax.persistence.FetchType.EAGER

    - #### optional

          public abstract boolean optional

      (Optional) Defines 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. If not specified, defaults to `true`.
      Default:
        true

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.