@Target(value={METHOD,FIELD}) @Retention(value=RUNTIME) public @interface OneToMany
If the collection is defined using generics to specify the element type, the associated target entity type need not be specified; otherwise the target entity class must be specified.
Example 1: One-to-Many association using generics In Customer class: @OneToMany(cascade=ALL, mappedBy="customer") public SetgetOrders() { return orders; } In Order class: @ManyToOne @JoinColumn(name="CUST_ID", nullable=false) public Customer getCustomer() { return customer; } Example 2: One-to-Many association without using generics In Customer class: @OneToMany(targetEntity=com.acme.Order.class, cascade=ALL, mappedBy="customer") public Set getOrders() { return orders; } In Order class: @ManyToOne @JoinColumn(name="CUST_ID", nullable=false) public Customer getCustomer() { return customer; }
Modifier and Type | Optional Element and Description |
---|---|
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
The field that owns the relationship.
|
Class |
targetEntity
(Optional) The entity class that is the target
of the association.
|
public abstract Class targetEntity
Defaults to the parameterized type of the collection when defined using generics.
public abstract CascadeType[] cascade
Defaults to no operations being cascaded.
public abstract FetchType fetch
EAGER
strategy is a
requirement on the persistenceprovider runtime
that the associatedentities must be eagerly fetched.
The LAZY
strategy is a hint
to the persistence provider runtime.public abstract String mappedBy
Copyright © 2015. All rights reserved.