I have this converter to convert a Boolean.class field from the entity to a VARCHAR(1) in Oracle DB:
@ObjectTypeConverter(name = "SNtoBoolConverter",
dataType = java.lang.String.class,
objectType = java.lang.Boolean.class,
conversionValues = {
@ConversionValue(dataValue = "S", objectValue = "true"),
@ConversionValue(dataValue = "N", objectValue = "false"),
}
) Is there a way to convert null values to a character? Thanks!
No, you'll need to use a custom converter. Something like:
@Converter(name="SNtoBoolConverter",
converterClass=org.myorg.converters.SNtoBoolConverter.class)
Boolean yourProperty;
public class SNtoBoolConverter implements org.eclipse.persistence.mappings.converters.Converter {
public Object convertDataValueToObjectValue(Object dataValue, Session session) {
if ("S".equals(dataValue))
return Boolean.TRUE;
if ("N".equals(dataValue))
return Boolean.FALSE;
return null;
}
public Object convertObjectValueToDataValue(Object value, Session session) {
if (null == value)
return null;
if (value == Boolean.TRUE){
return "S"
} else {
return "N"
}
}
public void initialize(DatabaseMapping mapping, Session session){}
public boolean isMutable() {return false;}
}