【发布时间】:2014-08-04 01:14:05
【问题描述】:
我正在尝试创建两个实体,但出现以下错误
Exception Description: Entity class [class it.volaconoi.entity.Airport] must use a @JoinColumn instead of @Column to map its relationship attribute [city].
这些是实体。我想要将city_source 连接到机场实体中的city,与city_dest 相同。不幸的是我得到了那个错误。毫无疑问,错误是由于我以错误的方式创建了关系。
@Entity
@Table(name = "ROUTE")
public class Route implements Serializable
{
@Id
@Column(name = "ID_ROUTE")
private String id_route;
@Column(name = "AIRLANE", nullable = false)
private String airlane;
@Column(name = "AIRCRAFT_ID", nullable = false)
private String aircraft_id;
@Column(name = "CITY_SOURCE", nullable = false)
@OneToOne(mappedBy = "city", optional = false)
private String airport_city_source;
@Column(name = "CITY_DEST", nullable = false)
@OneToOne(mappedBy = "city", optional = false)
private String airport_city_dest;
@Column(name = "DEPARTURE_DATE", nullable = false)
@Temporal(TemporalType.DATE)
private Date departure_date;
@Column(name = "ARRIVAL_DATE", nullable = false)
@Temporal(TemporalType.DATE)
private Date arrival_date;
@Column(name = "TRAVEL_CLASS", nullable = false)
private String travel_class;
@Column(name = "SEATS", nullable = false)
private int seats;
@Column(name = "PRICE", nullable = false)
private float price;
...
机场
@Entity
@Table(name = "AIRPORT")
public class Airport implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "AIRPORT_ID")
private Integer id;
@Column(name = "NAME", nullable = false)
private String name;
@Column(name = "CITY")
@OneToOne
private String city;
@Column(name = "COUNTRY")
private String country;
@Column(name = "IATA_FAA")
private String iata_faa_code;
@Column(name = "ICAO")
private String icao_code;
@Column(name = "LATITUDE")
private String latitude;
@Column(name = "LONGITUDE")
private String longitude;
@Column(name = "ALTITUDE")
private String altitude;
@Column(name = "TIMEZONE")
private String timezone;
@Column(name = "DST")
private String dst;
...
【问题讨论】:
标签: jakarta-ee jpa entity