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/TypeConverter"
< EclipseLink | UserGuide | JPA | Basic JPA Development | Mapping | Basic Mappings | Default Conversions and Converters
m |
m |
||
Line 1: | Line 1: | ||
− | {{EclipseLink_UserGuide | + | {{EclipseLink_UserGuide|info=y|api=y |
− | + | ||
|1=*[http://www.eclipse.org/eclipselink/api/ org.eclipse.persistence.mappings.converters.TypeConversionConverter]}} | |1=*[http://www.eclipse.org/eclipselink/api/ org.eclipse.persistence.mappings.converters.TypeConversionConverter]}} | ||
=@TypeConverter Annotation and <type-converter> XML= | =@TypeConverter Annotation and <type-converter> XML= |
Revision as of 14:20, 18 June 2010
EclipseLink | |
Website | |
Download | |
Community | |
Mailing List • Forums • IRC • mattermost | |
Issues | |
Open • Help Wanted • Bug Day | |
Contribute | |
Browse Source |
Key API
{{{apis}}}
@TypeConverter Annotation and <type-converter> XML
The @TypeConverter is an EclipseLink-specific annotation. You can use it to specify an org.eclipse.persistence.mappings.converters.TypeConversionConverter for modification of the data value(s) during the reading and writing of a mapped attribute.
@Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME) public @interface TypeConverter { String name(); Class dataType() default void.class; Class objectType() default void.class; }
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 | |
dataType | Set this attribute to the type stored in the database. | void.class1 | No |
objectType | Set the value of this attribute to the type stored on the entity. | void.class1 | No |
1 The default is inferred from the type of the persistence field or property.
This example shows how to use the @TypeConverter annotation to convert the Double value stored in the database to a Float value stored in the entity.
Usage of the @TypeConverter Annotation
@Entity public class Employee implements Serializable{ ... @TypeConverter ( name="doubleToFloat", dataType=Double.class, objectType=Float.class, ) @Convert("doubleToFloat") public Number getGradePointAverage() { return gradePointAverage; } ... }