我在 Spring JPA 關系方面遇到了一些麻煩。
我有兩個物體:禮物和糖果。我希望用戶能夠選擇可用的糖果并將其添加到禮物中。
我怎樣才能使用 spring jpa 做到這一點?
我已經嘗試過與作為擁有方的禮物的“一對多”關系,并且在創建和保存糖果時出現“'gift_id 列中的空值違反非空約束'”錯誤。這是我的代碼:
禮品類:
@Entity
public class Gift implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private long id;
private String buyer;
@OneToMany(cascade = CascadeType.REMOVE)
@JoinColumn(name = "GiftId", nullable = true)
private List<Candy> candyList = new ArrayList<>();
...
糖果:
@Entity
public class Candy implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@JsonIgnore
private long id;
private String name;
private String brand;
private double price;
private int weight;
private int sugar;
...
uj5u.com熱心網友回復:
只需使用mappedBy 屬性來指定用于映射關系的欄位。
- 在禮物中
@OneToMany(mappedBy = "gift", cascade = CascadeType.ALL, orphanRemoval = true) private List<Candy> candyList = new ArrayList<>();
- 在糖果
@ManyToOne() private Gift gift;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/368442.html
