繁体   English   中英

使用两个外键创建一个实体 Class - Spring JPA

[英]Create an Entity Class with two foreign keys - Spring JPA

如何为下表创建实体 class ,该表具有两个不同表的两个外键。

CREATE TABLE `flights_info`  (
  `airline_id` bigint(20) NOT NULL,
  `flight_infoid` bigint(20) NOT NULL,
  UNIQUE INDEX `UK_mnghyk14c0ufcb2gs2k6fab40`(`flight_infoid`) ,
  INDEX `FKm5m2579nqtr1wele0bimvme8m`(`airline_id`) ,
  CONSTRAINT `FKlda61sltnw69kxw7b0gx6sj5s` FOREIGN KEY (`flight_infoid`) REFERENCES `flight_info` (`flight_infoid`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `FKm5m2579nqtr1wele0bimvme8m` FOREIGN KEY (`airline_id`) REFERENCES `airline_info` (`airline_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
);

我的实体 class:

@Entity
public class FlightsInfo  {

    @Id
    @JoinTable(name="AirlineInfo", joinColumns=@JoinColumn(name="airline_id"))
    private AirlineInfo airline_id;
    @OneToOne
    @JoinColumn(name="flight_infoid")
    private FlightInfo flight_infoid;
}

问题是您的表没有主键。 所以很难将@Id注释指向右列。 JPA 但是,只要您有一个唯一的列,就可以接受没有 PK 的表: https://en.wikibooks.org/wiki/Java_Persistence/Identity_and_Sequencing#No_Primary_Key

幸运的是,您在flight_infoid列上有一个独特的约束,因此您应该尝试指向您的@Id注释。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM