Difference between revisions of "EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Basic Mappings/Default Conversions and Converters/Convert"

From Eclipsepedia

Jump to: navigation, search
m
m
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{EclipseLink_API
+
{{EclipseLink_UserGuide
|1=*[http://www.eclipse.org/eclipselink/api/ org.eclipse.persistence.mappings.converters.SerializedObjectConverter]
+
|info=y
 +
|toc=n
 +
|eclipselink=y
 +
|eclipselinktype=JPA
 +
|api=y
 +
|apis=
 +
*[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/annotations/Convert.html @Convert]
 +
*[http://www.eclipse.org/eclipselink/api/latest/org/eclipse/persistence/mappings/converters/SerializedObjectConverter.html SerializedObjectConverter]
 
}}
 
}}
=@Convert Annotation=
+
 
 +
=@Convert=
 
The <tt>@Convert</tt> annotation specifies that a named converter should be used with the corresponding mapped attribute.
 
The <tt>@Convert</tt> annotation specifies that a named converter should be used with the corresponding mapped attribute.
 
<source lang="java">
 
<source lang="java">
Line 16: Line 24:
 
* <tt>none</tt> – does not place a converter on the associated mapping.
 
* <tt>none</tt> – does not place a converter on the associated mapping.
  
This table lists attributes of the <tt>@Convert</tt> annotation.
+
{{EclipseLink_AttributeTable
 +
|caption=@Convert Annotation Attributes
 +
|content=<tr>
 +
<td>'''<tt>value</tt>'''</td>
 +
<td>The <tt>String</tt> name for your converter.</td>
 +
<td><tt>"none" String</tt></td>
 +
<td>No</td>
 +
</tr>
 +
}}
  
<span id="Table 19-11"></span>
 
''''' Attributes of the @Convert Annotation'''''
 
  
{| class="RuleFormalWideMax" dir="ltr" title="Attributes of the @Convert Annotation" summary="This table lists the attributes of EclipseLink JPA @Convert annotation" width="100%" border="1" frame="border" rules="all" cellpadding="3" frame="border" rules="all"
+
The following example shows how to use the <tt>@Convert</tt> annotation to define the <tt>Employee</tt> field <tt>gender</tt>.
|- align="left" valign="top"
+
! id="r1c1-t17" align="left" valign="bottom" | '''Attribute'''
+
! id="r1c2-t17" align="left" valign="bottom" | '''Description'''
+
! id="r1c3-t17" align="left" valign="bottom" | '''Default'''
+
! id="r1c4-t17" align="left" valign="bottom" | '''Required or Optional'''
+
|- align="left" valign="top"
+
| id="r2c1-t17" headers="r1c1-t17" align="left" |
+
<tt>value</tt>
+
| headers="r2c1-t17 r1c2-t17" align="left" |
+
Set this attribute to the <tt>String</tt> name for your converter.
+
| headers="r2c1-t17 r1c3-t17" align="left" |
+
<tt>"none" String</tt>
+
| headers="r2c1-t17 r1c4-t17" align="left" |
+
optional
+
|}
+
 
+
 
+
This example shows how to use the <tt>@Convert</tt> annotation to define the <tt>Employee</tt> field <tt>gender</tt>.
+
  
 
<span id="Example 19-11"></span>
 
<span id="Example 19-11"></span>
''''' Usage of the @Convert Annotation'''''
+
======''Example: @Convert Annotation''======
 
<source lang="java">
 
<source lang="java">
 
  @Entity
 
  @Entity
Line 66: Line 62:
 
{{EclipseLink_JPA
 
{{EclipseLink_JPA
 
|previous=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters/StructConverter|@StructConverter]]
 
|previous=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters/StructConverter|@StructConverter]]
|next=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Lazy_Basics|Lazy Basics]]
+
|next=   [[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Lazy_Basics|Lazy Basics]]
|version=2.1.0
+
|up=      [[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters|Default Conversions and Converters]]
}}
+
|version=2.2.0 DRAFT}}

Latest revision as of 10:09, 5 May 2011

EclipseLink JPA

link="http://wiki.eclipse.org/EclipseLink"
EclipseLink
Website
Download
Community
Mailing ListForumsIRC
Bugzilla
Open
Help Wanted
Bug Day
Contribute
Browse Source


[edit] @Convert

The @Convert annotation specifies that a named converter should be used with the corresponding mapped attribute.

 @Target({METHOD, FIELD})
 @Retention(RUNTIME)
 public @interface Convert {
    String value() default "none";
 }

The @Convert has the following reserved names:

  • serialized – places the org.eclipse.persistence.mappings.converters.SerializedObjectConverter on the associated mapping.
  • none – does not place a converter on the associated mapping.
@Convert Annotation Attributes
Attribute Description Default Required?
value The String name for your converter. "none" String No


The following example shows how to use the @Convert annotation to define the Employee field gender.

[edit] Example: @Convert Annotation
 @Entity
 @Table(name="EMPLOYEE")
 @Converter(
     name="genderConverter",
         converterClass=org.myorg.converters.GenderConverter.class
 )
 public class Employee implements Serializable{
     ...
     @Basic
     @Convert("genderConverter")
     public String getGender() {
         return gender;
     }
     ...
 }



Eclipselink-logo.gif
Version: 2.2.0 DRAFT
Other versions...