EclipseLink 2.3.2, build 'v20111125-r10461' API Reference

org.eclipse.persistence.annotations
Annotation Type WriteTransformer


@Target(value={METHOD,FIELD})
@Retention(value=RUNTIME)
public @interface WriteTransformer

Annotation for org.eclipse.persistence.mappings.TransformationMapping. WriteTransformer defines transformation of the attribute value to a single database column value (column is specified in the WriteTransformer). A single WriteTransformer may be specified directly on the method or attribute. Multiple WriteTransformers should be wrapped into WriteTransformers annotation. No WriteTransformers specified for read-only mapping. Unless the TransformationMapping is write-only, it should have a ReadTransformer, it defines transformation of database column(s) value(s) into attribute value.

See Also:
ReadTransformer, Transformation, Transformation can be specified within an Entity, MappedSuperclass and Embeddable class.
Author:
Andrei Ilitchev
Since:
EclipseLink 1.0

Optional Element Summary
 Column column
          Specify here the column into which the value should be written.
 java.lang.String method
          The mapped class must have a method with this name which returns a value to be written into the database column.
 java.lang.Class transformerClass
          User-defined class that must implement the org.eclipse.persistence.mappings.transformers.FieldTransformer interface.
 

transformerClass

public abstract java.lang.Class transformerClass
User-defined class that must implement the org.eclipse.persistence.mappings.transformers.FieldTransformer interface. The class will be instantiated, its buildFieldValue will be used to create the value to be written into the database column. Note that for ddl generation and returning to be supported the method buildFieldValue in the class should be defined to return the relevant Java type, not just Object as defined in the interface, for instance: public Time buildFieldValue(Object instance, String fieldName, Session session). Either transformerClass or method must be specified, but not both.

Default:
void.class

method

public abstract java.lang.String method
The mapped class must have a method with this name which returns a value to be written into the database column. Note that for ddl generation and returning to be supported the method should be defined to return a particular type, not just Object, for instance: public Time getStartTime(). The method may require an Transient annotation to avoid being mapped as a Basic by default. Either transformerClass or method must be specified, but not both.

Default:
""

column

public abstract Column column
Specify here the column into which the value should be written. The only case when this could be skipped is if a single WriteTransformer annotates an attribute - the attribute's name will be used as a column name.

Default:
@javax.persistence.Column

EclipseLink 2.3.2, build 'v20111125-r10461' API Reference