我想从辅助表中创建一列作为我地图的键。如何使用Hibernate JPA实现此目的?我很茫然。
@OneToMany
@JoinColumn(name = "CompetitorID", referencedColumnName = "CompetitorID")
@MapKeyColumn(name = "name")
Map<String, TeamStandingStat> teamStandingStats;
TeamStandingStat类别:
@Table(name = "CompetitorStandings")
@SecondaryTable(name = "Standings",
pkJoinColumns = {@PrimaryKeyJoinColumn(name = "ID",referencedColumnName = "StandingsID")})
public class TeamStandingStat implements Serializable{
@Id
@Column(name = "StandingsID")
@JsonIgnore
private Integer standingsIdd;
@Column(table = "StatsComStandings", name = "Grouping")
private String grouping;
@Column(table = "StatsComStandings", name = "Name")
private String name;
@Column(table = "StatsComStandings", name = "DisplayName")
private String displayName;
@Column(table = "StatsComStandings", name = "Abbreviation")
private String abbreviation;
@Column(name = "Value")
private String value ;
}
这给了我以下错误:“无效的列名称'名称'”,因为它正在CompetitorStandings表中查找“名称”列,其中“名称”列在“排行榜”中。
我也尝试过:
@MapKeyColumn(table="Standings", name = "name")
相同错误...