在我的实体中,我有一个播放器对象映射如下
@JoinColumn(name = "player_id", referencedColumnName = "player_id")
@ManyToOne(optional = false)
private Player player;
但是现在如果我需要访问玩家的id,我需要通过玩家对象。相反,是否有一种方法可以将引用列直接映射到实体?
如果你需要在不加载对象的情况下获取播放器id,那么你可以这样做:
@JoinColumn(name = "player_id", referencedColumnName = "player_id")
@ManyToOne(optional = false)
private Player player;
@Column(name="player_id", insertable=false, updatable=false)
private Long playerId;
由于列player_id
是重复映射,因此必须将其标记为只读(如上所述)。