我需要做什么才能自动填充子表的fk?我使用的是JPA、Spring Boot、MySql
Postman中的JSON发送成功,但Request属性未填写,items_pedido表中的fk列(id_pedido)也未填写。
enter image description here
Pedido是父亲的阶级:
package com.vendas.model;
import java.util.Date;
import java.util.List;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
@Entity(name="pedidos")
@Table(name="pedidos")
public class Pedido{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id_pedido", updatable = false, nullable = false)
private Long idPedido;
@Column(name="data_pedido")
private Date dataPedido;
@Column(name="status")
private int status;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "pedido")
private List<ItensPedido> itensPedido;
public Pedido() {
super();
}
public Long getIdPedido() {
return idPedido;
}
public void setIdPedido(Long idPedido) {
this.idPedido = idPedido;
}
public Date getDataPedido() {
return dataPedido;
}
public void setDataPedido(Date dataPedido) {
this.dataPedido = dataPedido;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public List<ItensPedido> getItensPedido() {
return itensPedido;
}
public void setItensPedido(List<ItensPedido> itensPedido) {
this.itensPedido = itensPedido;
}
}
Itens_pedido是儿童类:
package com.vendas.model;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
@Entity(name="itens_pedido")
@Table(name="itens_pedido")
public class ItensPedido{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id_item_pedido", updatable = false, nullable = false)
private Long idItemPedido;
@Column(name="id_produto")
private Long idProduto;
@Column(name="quantidade")
private int quantidade;
@Column(name="preco_venda")
private double precoVenda;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="id_pedido")
private Pedido pedido;
public ItensPedido() {
super();
}
public Long getIdItemPedido() {
return idItemPedido;
}
public void setIdItemPedido(Long idItemPedido) {
this.idItemPedido = idItemPedido;
}
public Long getIdProduto() {
return idProduto;
}
public void setIdProduto(Long idProduto) {
this.idProduto = idProduto;
}
public int getQuantidade() {
return quantidade;
}
public void setQuantidade(int quantidade) {
this.quantidade = quantidade;
}
public double getPrecoVenda() {
return precoVenda;
}
public void setPrecoVenda(double precoVenda) {
this.precoVenda = precoVenda;
}
public Pedido getPedido() {
return pedido;
}
public void setPedido(Pedido pedido) {
this.pedido = pedido;
}
}