Package jakarta.persistence
Annotation 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:
- 1.0
-
Optional Element Summary
-
Element Details
-
fetch
FetchType fetch(Optional) Defines whether the value of the field or property should be lazily loaded or must be eagerly fetched. TheEAGER
strategy is a requirement on the persistence provider runtime that the value must be eagerly fetched. TheLAZY
strategy is a hint to the persistence provider runtime. If not specified, defaults toEAGER
.- Default:
- EAGER
-
optional
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 totrue
.- Default:
- true
-