我有两个实体如下:
Invoice- 主键是
InvoiceId - 其他感兴趣的列是
[OrgId, VendorId, VendorInvoiceId]
- 主键是
InvoiceState- 主键是
InvoiceStateId - 其他感兴趣的列是
[OrgId, VendorId, VendorInvoiceId]
- 主键是
“其他感兴趣的列”在两个表中形成唯一键,除了第二个表InvoiceState可以包含在第一个表中没有对应记录的记录Invoice。
在实体层,我想定义Invoice实体以包含对具有定义关系的InvoiceState实体@OneToOne的引用,@JoinColumns如下所示:
@OneToOne
@JoinColumns
({
@JoinColumn(name="OrgId", referencedColumnName="OrgId"),
@JoinColumn(name="VendorId", referencedColumnName="VendorId"),
@JoinColumn(name="VendorInvoiceId", referencedColumnName="VendorInvoiceId")
})
但这会引发一个异常,即两个实体中的外键计数不相同。我什至没有在这两个表之间定义外键。
有没有办法定义@OneToOne两个不共享外键但有一组可以在期间使用的列的实体之间的关系JOIN?