【问题标题】:Spring JPA relationshipsSpring JPA 关系
【发布时间】:2021-11-26 14:28:10
【问题描述】:


我在 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;
    ...

【问题讨论】:

    标签: java spring hibernate jpa


    【解决方案1】:

    只需使用 mappedBy 属性来指定用于映射关系的字段。

    1. 礼物中

    @OneToMany(mappedBy = "gift", cascade = CascadeType.ALL, orphanRemoval = true) private List&lt;Candy&gt; candyList = new ArrayList&lt;&gt;();

    1. 在糖果里

    @ManyToOne() private Gift gift;

    【讨论】:

      猜你喜欢
      • 2021-08-17
      • 2019-08-12
      • 2017-11-09
      • 1970-01-01
      • 2021-05-22
      • 2021-02-10
      • 2017-12-12
      • 2017-01-09
      • 2017-03-13
      相关资源
      最近更新 更多