【问题标题】:Can not map one to one relationship in models无法在模型中映射一对一关系
【发布时间】:2021-09-18 22:15:54
【问题描述】:

我应该以一对一的关系将订单与发票相关联,但我遇到以下错误

Unknown mappedBy in com.example.task.model.Order.invoice referenced property unknown: com.example.task.model.Invoice.Invoice

订购型号:


@Entity
@Table(name = "Order")
public class Order{
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @Column(nullable = true)
    private LocalDate date;

    @OneToOne(cascade = CascadeType.ALL, mappedBy = "Order")
    @JoinColumn(name = "order_id", referencedColumnName = "id")
    private Invoice invoice;

    @OneToMany(targetEntity = Detail.class, cascade = CascadeType.ALL)
    @JoinColumn(name = "order_id", referencedColumnName = "id")
    private List<Detail> details;

和发票模型

@Entity
@Table(name = "Invoice")
public class Invoice {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @OneToOne(cascade = CascadeType.ALL)
    private Order order;

    @OneToMany(targetEntity = Payment.class, cascade = CascadeType.ALL)
    @JoinColumn(name = "inv_id", referencedColumnName = "id")
    private List<Payment> payments;

    @Column(nullable = true, precision = 8, scale = 2)
    private BigDecimal amount;

    @Column(nullable = true)
    private LocalDate issued;

    @Column(nullable = true)
    private LocalDate due;

即使我反过来改变我也有同样的错误。

【问题讨论】:

  • “订单”不是“订单”

标签: java spring spring-boot hibernate spring-data-jpa


【解决方案1】:

更新这一行

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "invoice_id", referencedColumnName = "id")
private Invoice invoice;

@OneToOne(mappedBy = "invoice")
private Order order;

【讨论】:

    【解决方案2】:

    mappedBy 属性输入错误。

    使用 mappedBy = "order" O 小写

    【讨论】:

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