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 |
||
(11 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. | ||
<source lang="java"> | <source lang="java"> | ||
Line 11: | Line 18: | ||
} | } | ||
</source> | </source> | ||
+ | |||
{{EclipseLink_AttributeTable | {{EclipseLink_AttributeTable | ||
− | |caption=<span id=" | + | |caption=<span id="@Converter Attributes">@Converter Annotation Attributes</span> |
|content=<tr> | |content=<tr> | ||
<td>'''<tt>name</tt>'''</td> | <td>'''<tt>name</tt>'''</td> | ||
Line 27: | Line 35: | ||
}} | }} | ||
− | |||
− | <span id="Example | + | The following example shows how to use the <tt>@Converter</tt> annotation to specify <tt>Employee</tt> field <tt>gender</tt>. |
− | '' | + | |
+ | <span id="Example: @Converter Annotation"></span> | ||
+ | ======''Example: @Converter Annotation''====== | ||
<source lang="java"> | <source lang="java"> | ||
@Entity | @Entity | ||
Line 54: | Line 63: | ||
|next=[[EclipseLink/UserGuide/JPA/Basic_JPA_Development/Mapping/Basic_Mappings/Default_Conversions_and_Converters/TypeConverter|@TypeConverter]] | |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; } ... }