public @interface VariableOneToOne
Variable one to one mappings are used to represent a pointer references
between a java object and an implementer of an interface. This mapping is
usually represented by a single pointer (stored in an instance variable)
between the source and target objects. In the relational database tables,
these mappings are normally implemented using a foreign key and a type code.
A VariableOneToOne can be specified within an Entity, MappedSuperclass
and Embeddable class.
(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.
public abstract boolean optional
(Optional) Whether the association is optional. If set to false then a
non-null relationship must always exist.
public abstract boolean orphanRemoval
(Optional) Whether to apply the remove operation to entities that have
been removed from the relationship and to cascade the remove operation to
(Optional) The discriminator column will hold the type indicators. If the
DiscriminatorColumn is not specified, the name of the discriminator
column defaults to "DTYPE" and the discriminator type to STRING.
(Optional) The list of discriminator types that can be used with this
VariableOneToOne. If none are specified then those entities within the
persistence unit that implement the target interface will be added to
the list of types. The discriminator type will default as follows:
- If DiscriminatorColumn type is STRING: Entity.name()
- If DiscriminatorColumn type is CHAR: First letter of the Entity class
- If DiscriminatorColumn type is INTEGER: The next integer after the
highest integer explicitly added.