PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Възможно ли е да се напише преобразувател на тип данни за обработка на колони JSON на postgres?

Да, така е, но трябва да използвате API, специфичен за Postgres. В кода по-горе трябва да замените методите from/to със следното:

@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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да премахнете много (но не всички) маси с един замах?

  2. стойността е твърде дълга за типа character varying(255) за дължина 100 000

  3. Как да създадете функция, която не връща нищо

  4. sqlalchemy postgresql където int =низ

  5. Postgresql Функция за сортиране на знаци в низ