在hibernate中使用非主键属性(唯一的)作为外键

时间:2015-06-02 10:56:37

标签: mysql hibernate

我有两张桌子销售和机会。

销售:salesId,oppNo,status

机会:对手,对手,状态

我已经映射了oppNo,它不是主键,但在Sales表中是唯一的外键

销售表中的映射是:

@JoinColumn(name = "opportunity_no", referencedColumnName = "opportunity_no")
@ManyToOne
private TsOpportunities opportunityNo;

但是,当我用

更新销售记录时
sales.setOpportunityNumber(opportunityObject)

Hibernate不会将商机表中商机编号的值复制到销售表

如何复制?

1 个答案:

答案 0 :(得分:0)

发现这个问题发生了,因为我使用session.load(Opportunity, id);来获取商机对象。这样只获取主键。在使用标准获取它工作的对象后