-
- Type Parameters:
X
- the target type, that is, the type of the entity attributeY
- a basic type representing the type of the database column
public interface AttributeConverter<X,Y>
Interface implemented by custom attribute converters. A converter is a class whose methods convert between:- the target type of the converter, an arbitrary Java type which may be used as the type of a persistent field or property, and
- a basic type used as an intermediate step in mapping to the database representation.
A converted field or property is considered
Basic
, since, with the aid of the converter, its values can be represented as instances of a basic type.A converter class must be annotated
Converter
or declared as a converter in the object/relational mapping descriptor. The value ofautoApply
determines if the converter is automatically applied to persistent fields and properties of the target type. TheConvert
annotation may be used to apply a converter which is declaredautoApply=false
, to explicitly disable conversion, or to resolve ambiguities when multiple converters would otherwise apply.Note that the target type
X
and the converted basic typeY
may be the same Java type.- See Also:
Converter
,Convert.converter()
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Y
convertToDatabaseColumn(X attribute)
Converts the value stored in the entity attribute into the data representation to be stored in the database.X
convertToEntityAttribute(Y dbData)
Converts the data stored in the database column into the value to be stored in the entity attribute.
-
-
-
Method Detail
-
convertToDatabaseColumn
Y convertToDatabaseColumn(X attribute)
Converts the value stored in the entity attribute into the data representation to be stored in the database.- Parameters:
attribute
- the entity attribute value to be converted- Returns:
- the converted data to be stored in the database column
-
convertToEntityAttribute
X convertToEntityAttribute(Y dbData)
Converts the data stored in the database column into the value to be stored in the entity attribute.Note that it is the responsibility of the converter writer to specify the correct
dbData
type for the corresponding column for use by the JDBC driver: i.e., persistence providers are not expected to do such type conversion.- Parameters:
dbData
- the data from the database column to be converted- Returns:
- the converted value to be stored in the entity attribute
-
-