为了账号安全,请及时绑定邮箱和手机立即绑定

hibernate spring jpa中的双向一对一

hibernate spring jpa中的双向一对一

天涯尽头无女友 2021-05-31 13:19:50
class Transaction implements Serializable {    @OneToOne(mappedBy = "transaction")    @JoinColumn(name = "invoice_id", nullable = false)    private InvoiceDetails invoice;    // some other columns, getter and setter}class InvoiceDetails implements Serializable {    @OneToOne(mappedBy = "invoice", fetch = FetchType.LAZY)    @JoinColumn(name = "transaction")    private Transaction transaction;    // some other column and getter setter}编译时出现错误 - Unknown mappedBy in: com.project.model.Transaction.invoice, referenced property unknown: com.project.model.InvoiceDetails.transaction但是,当我mappedBy = "invoice"从 InvoiceDetails 中删除 时,它会编译。但是,交易表中有一列引用了 InvoiceDetails。InvoiceDetails 中有一个列用于存储交易中的 Id。我还没有尝试获取数据。我现在只看到数据库中的列。
查看完整描述

1 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

当您在 中有双向关系时JPA,您应该只mappedBy在其中一个属性中进行设置。没有的mappedBy将有一列带有外键约束的表中的关系,而另一个将没有该关系的任何列。因为mappedBy表示此关系由您在关系另一侧指定的属性处理。


查看完整回答
反对 回复 2021-06-02
  • 1 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信