Overview Package Class Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes
SUMMARY: REQUIRED | OPTIONAL DETAIL: ELEMENT

javax.persistence
Annotation Type EmbeddedId


@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface EmbeddedId

Applied to a persistent field or property of an entity class or mapped superclass to denote a composite primary key that is an embeddable class. The embeddable class must be annotated as Embeddable.

There must be only one EmbeddedId annotation and no Id annotation when the EmbeddedId annotation is used.

The AttributeOverride annotation may be used to override the column mappings declared within the embeddable class.

The MapsId annotation may be used in conjunction with the EmbeddedId annotation to specify a derived primary key.

If the entity has a derived primary key, the AttributeOverride annotation may only be used to override those attributes of the embedded id that do not correspond to the relationship to the parent entity.

Relationship mappings defined within an embedded id class are not supported.

 Example 1:
 @EmbeddedId
 protected EmployeePK empPK;
 Example 2:
 @Embeddable
 public class DependentId {
 String name;
 EmployeeId empPK; // corresponds to primary key type of Employee
 }
 @Entity
 public class Dependent {
 // default column name for "name" attribute is overridden
 @AttributeOverride(name="name", @Column(name="dep_name"))
 @EmbeddedId DependentId id;
 ...
 @MapsId("empPK")
 @ManyToOne Employee emp;
 }
 

Since:
Java Persistence 1.0
See Also:
Embeddable, MapsId


Overview Package Class Tree Deprecated Index Help
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes
SUMMARY: REQUIRED | OPTIONAL DETAIL: ELEMENT

Submit a bug or feature

Copyright © 2009-2011, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.

Generated on 10-February-2011 12:41

Scripting on this page tracks web page traffic, but does not change the content in any way.

AltStyle によって変換されたページ (->オリジナル) /