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