sql >> Database >  >> RDS >> PostgreSQL

Is het mogelijk om een ​​gegevenstype Converter te schrijven om postgres JSON-kolommen te verwerken?

Ja, dat is zo, maar u moet de specifieke API van Postgres gebruiken. In de bovenstaande code moet je de van/naar methoden vervangen door het volgende:

@Override
public ObjectNode from(Object databaseObject) {
    if (databaseObject == null) { return null; }
    try {
        PGobject dbo = (PGobject) databaseObject;
        return mapper.readValue(dbo.getValue(), ObjectNode.class);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

@Override
public Object to(ObjectNode userObject) {
    if (userObject == null) { return null; }
    try {
        PGobject dbo = new PGobject();
        dbo.setType("json");
        dbo.setValue(mapper.writeValueAsString(userObject));
        return dbo;
    } catch (JsonProcessingException|SQLException e) {
        throw new RuntimeException(e);
    }
}


  1. NLS_LANG kiezen voor Oracle

  2. 5 MySql nuttige vragen tijdens projectontwikkeling

  3. SQL IN Clausule 1000 itemlimiet

  4. MYSQL-volgorde op leuk/niet leuk en populariteit