Skip to main content

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.

Jump to: navigation, search

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
Revision as of 10:01, 17 June 2010 by Rick.sapir.oracle.com (Talk | contribs) (EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Basic Mappings/Default Conversions and Converters/Converter/TypeConverter moved to [[EclipseLink/UserGuide/JPA/Basic JPA Development/Mapping/Basic Mappings/Default Conversions and Converters/Type)


Elug api package icon.png Key API {{{apis}}}

@TypeConverter Annotation

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;
 }

This table lists attributes of the @TypeConverter annotation.

Attribute Description Default Required or Optional

name

Set this attribute to the String name for your converter. Ensure that this name is unique across the persistence unit.

no default

required

dataType

Set this attribute to the type stored in the database.

void.class1

optional

objectType

Set the value of this attribute to the type stored on the entity.

void.class1

optional


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;
     }
     ...
 }



Eclipselink-logo.gif
Version: 2.1.0
Other versions...

Copyright © Eclipse Foundation, Inc. All Rights Reserved.