【发布时间】: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 8 LocalDate Jackson format
-
没有回答。我正在使用 Jsonb。
-
这提供了一个线索,也许,thoughts-on-java.org/…
标签: java postgresql spring-boot jpa jsonb