[英]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.