繁体   English   中英

冬眠jpa双向一对一

[英]bi-directional one-to-one in hibernate spring jpa

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

但是,当我从InvoiceDetails中删除mappedBy = "invoice"时,它将进行编译。 但是,交易记录表中有引用InvoiceDetails的列。 InvoiceDetails中有一列,用于存储交易记录中的ID。

我还没有尝试获取数据。 我现在只看到数据库中的列。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM