2016-05-08 5 views
0

Wenn ich versuche, eine Zeile aus der Datenbank zu löschen, erhalte ich folgende Fehlermeldung: "Eine übergeordnete Zeile kann nicht gelöscht oder aktualisiert werden fehlschlägt (pquino01db. ITINERARYTRAVELLER_FLIGHTENTITY, CONSTRAINT FK_ITINERARYTRAVELLER_FLIGHTENTITY_flights_ID FOREIGN KEY (flights_ID) LITERATUR FLIGHTENTITY (ID))“Eine übergeordnete Zeile kann nicht gelöscht oder aktualisiert werden: eine Fremdschlüsseleinschränkung schlägt fehl (jpa 2.0)

@Entity 
public class itineraryTraveller implements Serializable { 

private static final long serialVersionUID = 1L; 
@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
private Long id; 
private String departureLocation; 
@Temporal(javax.persistence.TemporalType.DATE) 
private Date departureDate; 
private String arrivalLocation; 
private double cost; 
private char status; 
private ArrayList<String> stops; 
@OneToMany(orphanRemoval=true) 
private ArrayList<flightEntity> flights; 
private String stopPrint; 
private String userName; 
private int iden; 
public String getUserName() { 
    return userName; 
} 
........ 

jemand das Problem sehen kann ??? Ich glaube, meine @OneToMany Anmerkung könnte etwas fehlen, aber weiß nicht, was

Antwort

0

Try this:

@OneToMany(cascade = CascadeType.ALL, mappedBy = "flightID", orphanRemoval = true) 
private ArrayList<flightEntity> flights; 

„FlightID“ an den Variablennamen der Entität-ID von fligtEntity gleich sein müssen.

Dokumentation auf mappedBy hier Bidirectional Relationships.

Sie können sehen, was CascadeType.ALL bedeutet hier Cascade Operations and Relationships.

+0

aber ich möchte unidirektional. Ein RouteTraveller enthält eine Liste der Flüge. und wenn ich einen Flug von der Flug-Tabelle entferne, möchte ich, dass automatisch alle RouteTravellers, die diesen Flug enthalten, ebenfalls gelöscht werden – pquin92

Verwandte Themen