Java tutorial
package com.orange.clara.cloud.servicedbdumper.converter; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.orange.clara.cloud.servicedbdumper.model.Metadata; import javax.persistence.AttributeConverter; import javax.persistence.Converter; import java.io.IOException; /** * Copyright (C) 2016 Orange * <p> * This software is distributed under the terms and conditions of the 'Apache-2.0' * license which can be found in the file 'LICENSE' in this package distribution * or at 'https://opensource.org/licenses/Apache-2.0'. * <p> * Author: Arthur Halet * Date: 17/09/2016 */ @Converter public class MetadataConverter implements AttributeConverter<Metadata, String> { @Override public String convertToDatabaseColumn(Metadata metadata) { if (metadata == null) { return null; } ObjectMapper objectMapper = new ObjectMapper(); try { return objectMapper.writeValueAsString(metadata); } catch (JsonProcessingException e) { throw new RuntimeException(e.getMessage(), e); } } @Override public Metadata convertToEntityAttribute(String metadataInJson) { if (metadataInJson == null) { return null; } ObjectMapper objectMapper = new ObjectMapper(); try { return objectMapper.readValue(metadataInJson, Metadata.class); } catch (IOException e) { throw new RuntimeException(e.getMessage(), e); } } }