I have a table in the postgres database and the column is of type inet, as I do to map this attribute in the entity.
You can use JPA’s @Convert annotation for your entity attribute and write a converter. Please see an example here: GitHub - cuba-labs/db-type-convert: DB Type Conversion Example
Example of a converter:
@Converter
public class InetConverter implements AttributeConverter<String, Object> {
@Override
public Object convertToDatabaseColumn(String attribute) {
if (attribute == null)
return null;
PGobject pgobject = new PGobject();
pgobject.setType("inet");
try {
pgobject.setValue(attribute);
} catch (SQLException e) {
throw new RuntimeException(e);
}
return pgobject;
}
@Override
public String convertToEntityAttribute(Object dbData) {
return dbData == null ? null : dbData.toString();
}
}
Entity attribute annotation:
@Column(name = "IP_ADDRESS")
@Convert(converter = InetConverter.class)
protected String ip_address;
See the full description in the sample project.
2 Likes
Hi ,
Thanks, it worked.