【发布时间】:2016-09-03 06:22:26
【问题描述】:
我有一个名为itineraryTraveller 的实体,每个itineraryTraveller 可以有多个flightEntity。当我尝试从数据库中删除 itineraryTraveller(父级)时,我收到以下错误消息:
a foreign key constraint fails (`pquino01db`.`ITINERARYTRAVELLER_FLIGHTENTITY`, CONSTRAINT `FK_ITINERARYTRAVELLER_FLIGHTENTITY_flights_ID` FOREIGN KEY (`flights_ID`) REFERENCES `FLIGHTENTITY` (`ID`))"
这是我的itineraryTraveller 实体:
@Entity
public class itineraryTraveller implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private List<flightEntity> flights;
@Temporal(javax.persistence.TemporalType.DATE)
private Date departureDate;
private String departureLocation;
private String arrivalLocation;
private double cost;
private char status;
private ArrayList<String> stops;
private String stopPrint;
private String userName;
private int iden;
// ...
}
flightEntity 看起来像这样:
@Entity
public class flightEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Temporal(javax.persistence.TemporalType.DATE)
private Date departureDate;
private String airlineCode;
private String flightNumber;
private String departureLocation;
private String arrivalLocation;
private double businessCost;
private double economyCost;
private int numBusinessSeats;
private int numEconomySeats;
// ...
}
有人能看出问题吗?我认为我的 @OneToMany 注释可能丢失了一些东西,但我不确定是什么。我想同时删除父母和孩子。
【问题讨论】:
-
您是否使用 Hibernate 来完成这项工作?
-
JPA Ecliplse 与 glassfish 的链接
-
好的,谢谢,我的建议可能无关紧要,但是你应该检查你使用哪种类型的 CascadeType,我知道 Hibernate 你应该使用 Hibernate 的 Glassfish 可能有类似的问题?在这里查看:mkyong.com/hibernate/…
-
在上述链接中出现了 Eclipse 链接的特定答案:@PrivateOwned 注释。 eclipse.org/eclipselink/documentation/2.5/jpa/extensions/…