sql >> Databasteknik >  >> RDS >> PostgreSQL

Är det möjligt att skriva en datatypskonverterare för att hantera postgres JSON-kolumner?

Ja, det är det, men du måste använda Postgres-specifika API. I koden ovan måste du ersätta från/till-metoderna med följande:

@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. Är det bättre att använda ett tomt värde som '' eller som NULL?

  2. Hur loggar jag in och autentiserar till Postgresql efter en nyinstallation?

  3. Arv i Databasdesign

  4. Hur kan jag få listan över databaser i Postgresql i python