@MapKeyColumn和使用@SecondaryTable的实体?

时间:2018-10-02 19:49:58

标签: spring hibernate spring-boot jpa annotations

我想从辅助表中创建一列作为我地图的键。如何使用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")

相同错误...

0 个答案:

没有答案