你的两个变量match
,并player
在你的Performance
类被映射到相同的列matchId
和playerId
嵌入式ID。如错误所述,它们“应与insert =“ false” update =“ false”“映射。
@ManyToOne
@JoinColumn(name="MATCH_ID", insertable = false, updatable = false)
private Match match;
@ManyToOne
@JoinColumn(name="PLAYER_ID", insertable = false, updatable = false)
private Player player;
这实际上使这些字段为只读,因此MATCH_ID
,PLAYER_ID
如果嵌入式ID中的值发生更改,Hibernate仅知道更改and 列,而如果match
or 的值发生更改,则Hibernate 不会player
更改。