Как использовать JSONB PostgreSQL для вставки столбцов через JSON? - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть объект, который сопоставлен с PostgreSQL, я хочу использовать JSONB для возможности вставки столбцов через JSON.

@Entity
@Table(name="TB_ORDEM_MANUTENCAO")
@TypeDef(
        name = "jsonb",
        typeClass = JsonBinaryType.class
)
public class OrdemManutencao implements Serializable {
private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO) // Cria automaticamente os ids
    private long id;

    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd")
    private Date dataManutencao;    

    @OneToOne
    @JoinColumn(name = "equipamento_id", unique = true)
    private Equipamento equipamento;

    @Type(type = "jsonb")
    @Column(columnDefinition = "jsonb")
    private String propriedades;            

}

В Swagger я пытаюсь добавить обслуживание Порядок следующим образом:

{
  "propriedades" : [{"uf": "MG", "teste": "teste"}],
  "dataManutencao": "2020-04-04",
  "equipamento": {
    "id": 13,
    "nome": "Lavadoura",
    "quantidade": 1
  }
}

Это не вставляет столбцы в моей таблице order_maintenance, просто вставьте так:

Response body
{
  "id": 27,
  "dataManutencao": "2020-04-04",
  "equipamento": {
    "id": 13,
    "nome": "Lavadoura",
    "quantidade": 1
  }
}

как я могу это сделать?

1 Ответ

0 голосов
/ 12 апреля 2020

Это решить для меня: vladmihalcea.com/map-string-jpa-property-json-column-hibernate.

...