|
Java EE 5 SDK | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | ||||||||
@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface OneToOneThis annotation defines a single-valued association to another entity that has one-to-one multiplicity. It is not normally necessary to specify the associated target entity explicitly since it can usually be inferred from the type of the object being referenced.
Example 1: One-to-one association that maps a foreign key column
On Customer class:
@OneToOne(optional=false)
@JoinColumn(
name="CUSTREC_ID", unique=true, nullable=false, updatable=false)
public CustomerRecord getCustomerRecord() { return customerRecord; }
On CustomerRecord class:
@OneToOne(optional=false, mappedBy="customerRecord")
public Customer getCustomer() { return customer; }
Example 2: One-to-one association that assumes both the source and target share the same primary key values.
On Employee class:
@Entity
public class Employee {
@Id Integer id;
@OneToOne @PrimaryKeyJoinColumn
EmployeeInfo info;
...
}
On EmployeeInfo class:
@Entity
public class EmployeeInfo {
@Id Integer id;
...
}
| Optional Element Summary | |
|---|---|
CascadeType[] |
cascade
(Optional) The operations that must be cascaded to the target of the association. |
FetchType |
fetch
(Optional) Whether the association should be lazily loaded or must be eagerly fetched. |
String |
mappedBy
(Optional) The field that owns the relationship. |
boolean |
optional
(Optional) Whether the association is optional. |
Class |
targetEntity
(Optional) The entity class that is the target of the association. |
public abstract Class targetEntity
Defaults to the type of the field or property that stores the association.
public abstract CascadeType[] cascade
By default no operations are cascaded.
public abstract FetchType fetch
EAGER
strategy is a requirement on the persistence provider runtime that
the associated entity must be eagerly fetched. The LAZY strategy is a hint to the persistence provider runtime.
public abstract boolean optional
public abstract String mappedBy
|
Java EE 5 SDK | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT | ||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved.