@Target(value={ANNOTATION_TYPE,METHOD,FIELD}) @Retention(value=RUNTIME) public @interface Basic
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; }
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.
|
public abstract FetchType fetch
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
.Copyright © 2020. All rights reserved.