sql >> Databáze >  >> RDS >> PostgreSQL

Je možné napsat převodník typu dat pro zpracování postgresových sloupců JSON?

Ano, je, ale musíte použít specifické API pro Postgres. Ve výše uvedeném kódu musíte nahradit metody from/to následujícím:

@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. ERROR 1524 (HY000):Plugin 'unix_socket' není načten - Laragon

  2. PostgreSQL DATEADD() Ekvivalent

  3. Předejte parametry skriptu MySQL

  4. merge update oracle nedokáže získat stabilní sadu řádků