如何解决hibernate错误:实体映射中的重复列?

Neu*_*ino 4 java hibernate3 hibernate-mapping

嗨,我有以下型号:

@Entity
class Flight{
  private Airport airportFrom;
  private Airport airportTo;

  @OneToOne(fetch=FetchType.LAZY,optional=false)
  public Airport getAirportFrom(){
    return this.airportFrom;
  }

  @OneToOne(fetch=FetchType.LAZY,optional=false)
  public Airport getAirportTo(){
    return this.airportTo;
  }
}

@Entity
class Airport{
  private Integer airportId;

  @Id
  public Integer getAirportId(){
    this.airportId;
  }
}
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

org.hibernate.MappingException: Repeated column in mapping for entity: model.entities.Flight column: airportId (should be mapped with insert="false" update="false")
Run Code Online (Sandbox Code Playgroud)

Aff*_*ffe 9

这是你需要的@JoinColumn,而不是@Column.

  @OneToOne(fetch=FetchType.LAZY,optional=false)
  @JoinColumn(name="airportFrom", referencedColumnName="airportId")
  public Airport getAirportFrom(){
    return this.airportFrom;
  }
Run Code Online (Sandbox Code Playgroud)

等等

(正如Frotthowe所说,飞往OneToOne与机场似乎有点奇怪.我必须承认通常会忽略该域名,并假设这些名称是一些假废话,以方便提问:))