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

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

m (@ObjectTypeConverter Annotation)
m
Line 1: Line 1:
{EclipseLink_API
+
{{EclipseLink_API
 
|1=org.eclipse.persistence.mappings.converters.ObjectTypeConverter
 
|1=org.eclipse.persistence.mappings.converters.ObjectTypeConverter
 
}}
 
}}

Revision as of 10:00, 17 June 2010


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

@ObjectTypeConverter Annotation

You can use the @ObjectTypeConverter annotation to specify an org.eclipse.persistence.mappings.converters.ObjectTypeConverter that converts a fixed number of database data value(s) to Java object value(s) during the reading and writing of a mapped attribute.

 @Target({TYPE, METHOD, FIELD})
 @Retention(RUNTIME)
 public @interface ObjectTypeConverter {
    String name();
    Class dataType() default void.class;
    Class objectType() default void.class;
    ConversionValue[] conversionValues();
    String defaultObjectValue() default "";
 }

This table lists attributes of the @ObjectTypeConverter 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

conversionValues

Set the value of this attribute to the array of conversion values (instances of ConversionValue: String objectValue and String dataValue. See the Usage of the @ObjectTypeConverter Annotation example, to be used with the object converter.

no default

required

defaultObjectValue

Set the value of this attribute to the default object value. Note that this argument is for dealing with legacy data if the data value is missing.

empty String

optional


1 The default is inferred from the type of the persistence field or property.

This example shows how to use the @ObjectTypeConverter annotation to specify the Employee field gender.

Usage of the @ObjectTypeConverter Annotation

 public class Employee implements Serializable{
     ...
     @ObjectTypeConverter (
         name="genderConverter",
         dataType=java.lang.String.class,
         objectType=java.lang.String.class,
         conversionValues={
             @ConversionValue(dataValue="F", objectValue="Female"),
             @ConversionValue(dataValue="M", objectValue="Male")}
     )
     @Convert("genderConverter")
     public String getGender() {
         return gender;
     }
     ...
 }

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

Back to the top