|
|
(4 intermediate revisions by the same 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/package-summary.html persistence]
| |
− | * [http://www.eclipse.org/eclipselink/api/latest/javax/persistence/Entity.html Entity]
| |
− | * [http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/package-summary.html annotations]
| |
| | | |
− | |1=*javax.persistence
| |
− | |2=*org.eclipselink.annotations
| |
− | }}
| |
| | | |
− | = Adding Metadata Using Annotations =
| |
| | | |
− | An annotation is a simple, expressive means of decorating Java source code with metadata that is compiled into the corresponding Java class files for interpretation at run time by a JPA persistence provider to manage persistent behavior.
| + | '''[[Image:Elug_draft_icon.png|Warning]] See "Adding Metadata Using Annotations" in the [http://www.eclipse.org/eclipselink/documentation/ EclipseLink Concepts Guide]''' |
− | | + | |
− | A metadata annotation represents a Java language feature that lets you attach structured and typed metadata to the source code. Annotations alone are sufficient for the metadata specification -- you do not need to use XML. Standard JPA annotations are in the [http://www.eclipse.org/eclipselink/api/latest/javax/persistence/package-summary.html <tt>javax.persistence</tt>] package. {{EclipseLink_Spec
| + | |
− | |link=http://jcp.org/en/jsr/detail?id=220 | + | |
− | |section=Chapter 10 "Metadata Annotations"
| + | |
− | }}
| + | |
− | | + | |
− | An object relational mapping XML file is optional. If you choose to provide one, then it should contain mapping information for the classes listed in it. The persistence provider loads an [[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/orm.xml|orm.xml file]] (or other mapping file) as a resource. If you provide a mapping file, the classes and mapping information specified in the mapping file will be used. The XML mapping metadata may combine with and override annotation metadata. {{EclipseLink_Spec
| + | |
− | |link=http://jcp.org/en/jsr/detail?id=220
| + | |
− | |section=Section 12.2 "XML Overriding Rules"
| + | |
− | }}
| + | |
− | | + | |
− | Standard JPA 2.0 annotations are in the [http://www.eclipse.org/eclipselink/api/latest/javax/persistence/package-summary.html javax.persistence] package.
| + | |
− | | + | |
− | EclipseLink-specific JPA annotations are in the [http://www.eclipse.org/eclipselink/api/2.2/org/eclipse/persistence/annotations/package-summary.html org.eclipse.persistence.annotations package].
| + | |
− | | + | |
− | <br>
| + | |
− | | + | |
− | == Using Metadata Annotations ==
| + | |
− | | + | |
− | Use annotations to configure the persistent behavior of your entities. For example, to designate a Java class as a JPA entity, use the <tt>@Entity</tt> annotation as shown in this example:
| + | |
− | | + | |
− | <source lang="java">
| + | |
− | @Entity
| + | |
− | public class Employee implements Serializable {
| + | |
− | ...
| + | |
− | }
| + | |
− | </source>
| + | |
− | | + | |
− | You can apply annotations at the following levels:
| + | |
− | | + | |
− | *Class
| + | |
− | *Method
| + | |
− | *Field
| + | |
− | | + | |
− | EclipseLink defines a set of proprietary annotations to take advantage of EclipseLink-specific features. You can find them in the [http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/package-summary.html <tt>org.eclipse..persistence.annotations</tt>] package. These annotations are not available through the use of JPA metadata.
| + | |
− | | + | |
− | == Advantages and Disadvantages of Using Annotations ==
| + | |
− | | + | |
− | Using annotations provides several advantages:
| + | |
− | | + | |
− | *They are relatively simple to use and understand.
| + | |
− | *They provide in-line metadata within with the code that it describes; you do not need to replicate the source code context of where the metadata applies.
| + | |
− | | + | |
− | The primary disadvantage of annotations is that the metatdata becomes unnecessarily coupled to the code; changes to metadata require changing the source code.
| + | |
− | | + | |
− | <br>
| + | |
− | | + | |
− | <br> {{EclipseLink_JPA
| + | |
− | |previous=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/persistence.xml|Configuring Persistence Units Using persistence.xml ]]
| + | |
− | |next=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/orm.xml|Specifying Object-Relational Mappings Using orm.xml]]
| + | |
− | |up=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration|Configuration]]
| + | |
− | |version=2.2.0 DRAFT}}
| + | |