|
|
(28 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
− | {{EclipseLink_UserGuide
| |
− | |info=y
| |
− | |toc=n
| |
− | |eclipselink=y
| |
− | |eclipselinktype=JPA
| |
− | |api=y
| |
− | |apis=
| |
− | *[http://www.eclipse.org/eclipselink/api/latest/javax/persistence/Entity.html @Entity]
| |
− | * [http://www.eclipse.org/eclipselink/api/latest/javax/persistence/IdClass.html @IdClass]
| |
− | * [http://www.eclipse.org/eclipselink/api/latest/javax/persistence/Embedded.html @Embedded]
| |
− | * [http://www.eclipse.org/eclipselink/api/latest/javax/persistence/GeneratedValue.html @GeneratedValue]
| |
− | * [http://www.eclipse.org/eclipselink/api/latest/javax/persistence/TableGenerator.html @TableGenerator]
| |
− | * [http://www.eclipse.org/eclipselink/api/latest/javax/persistence/SequenceGenerator.html @SequenceGenerator ]
| |
− | * [http://www.eclipse.org/eclipselink/api/latest/javax/persistence/package-summary.html Package javax.persistence]}}
| |
| | | |
− | = Configuring Entities=
| |
| | | |
− | An entity is a lightweight persistence domain object. Typically, an entity represents a table in a relational database, and each entity instance corresponds to a row in the table. The primary programming artifact of an entity is the entity class, although entities can use helper classes.
| |
| | | |
− | The persistent state of an entity is represented either through persistent fields or persistent properties. These fields or properties use object/relational mapping annotations to map the entities and entity relationships to the relational data in the underlying data store.
| + | '''[[Image:Elug_draft_icon.png|Warning]] See "Understanding Entities" in the [http://www.eclipse.org/eclipselink/documentation/ EclipseLink Concepts Guide]''' |
− | | + | |
− | == Identifying an Entity ==
| + | |
− | Use the <tt>@Entity</tt> annotation to specify that a class is an entity, as shown in the following example:
| + | |
− | | + | |
− | <source lang="java">
| + | |
− | @Entity
| + | |
− | public class Employee implements Serializable {
| + | |
− | ... | + | |
− | }
| + | |
− | </source>
| + | |
− | | + | |
− | {{EclipseLink_Spec
| + | |
− | |link=http://jcp.org/en/jsr/detail?id=220 | + | |
− | |section=Chapter 2 "Entities"}}
| + | |
− | | + | |
− | ==Configuring an Entity's Persistent Identity==
| + | |
− | Every entity must have a persistent identity, which is an equivalent of a primary key in a database table that stores the entity state.
| + | |
− | | + | |
− | By default, the EclipseLink persistence provider assumes that each entity has at least one field or property that serves as a primary key.
| + | |
− | | + | |
− | You can generate and/or configure the identity of your entities by using the following annotations:
| + | |
− | | + | |
− | *[[EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Entities/Ids/Id|@Id]]
| + | |
− | *[[EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Entities/Ids/IdClass|@IdClass]]
| + | |
− | *[[EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Entities/Ids/EmbeddedId|@EmbeddedId]]
| + | |
− | *[[EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Entities/Ids/GeneratedValue|@GeneratedValue]]
| + | |
− | *[[EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Entities/Ids/TableGenerator|@TableGenerator]]
| + | |
− | *[[EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Entities/Ids/SequenceGenerator|@SequenceGenerator ]]
| + | |
− | | + | |
− | You can also use these annotations to fine-tune how your database maintains the identity of your entities.
| + | |
− | | + | |
− | <br>
| + | |
− | | + | |
− | <br>
| + | |
− | | + | |
− | {{EclipseLink_JPA
| + | |
− | |previous=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Configuration/JPA/Overriding_and_Merging|Overriding and Merging Metadata Settings]]
| + | |
− | |up=[[EclipseLink/UserGuide/JPA/Basic JPA Development|Basic JPA Development]]
| + | |
− | |next=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Entities/Ids/Id|@Id]]
| + | |
− | |version=2.2.0 DRAFT}}
| + | |