Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Basic Mappings/Default Conversions and Converters/Converter"
< EclipseLink | UserGuide | JPA | Basic JPA Development | Mapping | Basic Mappings | Default Conversions and Converters
m (→@Converter) |
m |
||
(17 intermediate revisions by 2 users 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/org/eclipse/persistence/annotations/Converter.html @Converter]}} | ||
+ | |||
=@Converter= | =@Converter= | ||
You can use <tt>@Converter</tt> annotation to specify a custom converter for modification of the data value(s) during the reading and writing of a mapped attribute. | You can use <tt>@Converter</tt> annotation to specify a custom converter for modification of the data value(s) during the reading and writing of a mapped attribute. | ||
Line 9: | Line 18: | ||
} | } | ||
</source> | </source> | ||
− | |||
− | <span id=" | + | {{EclipseLink_AttributeTable |
− | + | |caption=<span id="@Converter Attributes">@Converter Annotation Attributes</span> | |
− | + | |content=<tr> | |
− | + | <td>'''<tt>name</tt>'''</td> | |
− | + | <td>Set this attribute to the <tt>String</tt> name for your converter. Ensure that this name is unique across the persistence unit</td> | |
− | + | <td></td> | |
− | + | <td>Yes</td> | |
− | + | </tr> | |
− | + | <tr> | |
− | <tt>name</tt> | + | <td>'''<tt>converterClass</tt>'''</td> |
− | + | <td>Set this attribute to the <tt>Class</tt> of your converter. This class must implement the EclipseLink <tt>org.eclipse.persistence.mappings.converters.Converter</tt> interface.</td> | |
− | Set this attribute to the <tt>String</tt> name for your converter. Ensure that this name is unique across the persistence unit | + | <td></td> |
− | + | <td>Yes</td> | |
− | + | </tr> | |
− | + | }} | |
− | + | ||
− | + | ||
− | + | ||
− | <tt>converterClass</tt> | + | |
− | + | ||
− | Set this attribute to the <tt>Class</tt> of your converter. This class must implement the EclipseLink <tt>org.eclipse.persistence.mappings.converters.Converter</tt> interface. | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | The following example shows how to use the <tt>@Converter</tt> annotation to specify <tt>Employee</tt> field <tt>gender</tt>. | |
− | <span id="Example | + | <span id="Example: @Converter Annotation"></span> |
− | '' | + | ======''Example: @Converter Annotation''====== |
<source lang="java"> | <source lang="java"> | ||
@Entity | @Entity | ||
Line 64: | Line 61: | ||
{{EclipseLink_JPA | {{EclipseLink_JPA | ||
|previous=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters|Default Conversions and Converters]] | |previous=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters|Default Conversions and Converters]] | ||
− | |next=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters/ | + | |next=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters/TypeConverter|@TypeConverter]] |
|up=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters|Default Conversions and Converters]] | |up=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters|Default Conversions and Converters]] | ||
− | |version=2. | + | |version=2.2.0 DRAFT |
}} | }} |
Latest revision as of 10:35, 4 May 2011
EclipseLink JPA
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
Key API
@Converter
You can use @Converter annotation to specify a custom converter for modification of the data value(s) during the reading and writing of a mapped attribute.
@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) public @interface Converter { String name(); Class converterClass(); }
Attribute | Description | Default | Required? |
---|---|---|---|
name | Set this attribute to the String name for your converter. Ensure that this name is unique across the persistence unit | Yes | |
converterClass | Set this attribute to the Class of your converter. This class must implement the EclipseLink org.eclipse.persistence.mappings.converters.Converter interface. | Yes |
The following example shows how to use the @Converter annotation to specify Employee field gender.
Example: @Converter Annotation
@Entity public class Employee implements Serializable{ ... @Basic @Converter ( name="genderConverter", converterClass=org.myorg.converters.GenderConverter.class ) @Convert("genderConverter") public String getGender() { return gender; } ... }