【问题标题】:How to use JSONB PostgreSQL to insert columns through JSON?如何使用 JSONB PostgreSQL 通过 JSON 插入列?
【发布时间】:2020-07-24 14:49:40
【问题描述】:

我有一个实体,它映射到 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
  }
}

我该怎么做?

【问题讨论】:

标签: java postgresql spring-boot jpa jsonb


【解决方案1】:

这解决了我:vladmihalcea.com/map-string-jpa-property-json-column-hibernate。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多