我有2张桌子:货币和汇率
币种的主键由“费率”中的foreigh键的inputCurrency和outputCurrency引用。
我如何映射这些以便进行层叠?
我在Rate(包含foreigh键的表)中尝试过
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "INPUT_CURRENCY")
private Currency inputCurrency;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "OUTPUT_CURRENCY")
private Currency ouputCurrency;
但是,如果我从货币中删除项目,则会导致主键冲突。我无法删除货币,因为它是由Rate中的inputCurrency或outputCurrency引用的。
如果我想注释货币汇率表,我该怎么说mapledBy =“ inputCurrency”和“ outputCurrency”?
@OneToMany(cascade = CascadeType.ALL,mappedBy ="inputCurrency,outputCurrency")
List<Rate> rates;
该解决方案使用两种汇率列表:一种用于fk inputCurrency,另一种用于fk outputCurrency
@OneToMany(cascade = CascadeType.ALL,mappedBy ="inputCurrency")
List<Rate> ratesIC;
@OneToMany(cascade = CascadeType.ALL,mappedBy ="outputCurrency")
List<Rate> ratesOC;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句