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
`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