Difference between revisions of "EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/Annotations"

From Eclipsepedia

Jump to: navigation, search
m (Annotations)
m (Replacing page with ' '''Warning See "Adding Metadata Using Annotations" in the [http://www.eclipse.org/eclipselink/documentation/ EclipseLink Concepts Guide]'''')
 
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
=Annotations=
 
{{EclipseLink_API
 
|1=*javax.persistence
 
|2=*org.eclipselink.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.
 
  
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. Annotations for object relational mapping are in the <tt>javax.persistence</tt> package.
 
{{EclipseLink_Spec
 
|link=http://jcp.org/en/jsr/detail?id=220
 
|section=Chapter 8 "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 10.1 "XML Overriding Rules"
 
}}
 
  
 
+
'''[[Image:Elug_draft_icon.png|Warning]] See "Adding Metadata Using Annotations" in the [http://www.eclipse.org/eclipselink/documentation/ EclipseLink Concepts Guide]'''
==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 <tt>org.eclipselink.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.
+
 
+
 
+
 
+
 
+
{{EclipseLink_JPA
+
|previous=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/persistence.xml|persistence.xml]]
+
|next=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration/JPA/orm.xml|orm.xml]]
+
|up=[[EclipseLink/UserGuide/JPA/Basic JPA Development/Configuration|Configuration]]}}
+

Latest revision as of 11:48, 25 January 2013


Warning See "Adding Metadata Using Annotations" in the EclipseLink Concepts Guide