データベースからエンティティを削除する際に問題があります。とにかく私が何をしても、それは削除されません。SpringデータJPAでエンティティが削除されない
ドライバー・クラス
@Entity
@Table(name = "drivers")
public class Driver {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy = "driver", fetch = FetchType.EAGER)
@JsonSerialize(using = RatingsSerializer.class)
private List<Rating> ratings;
// other fields. Getters and Setters...
}
評価クラス
@Entity
@Table(name = "ratings")
@JsonDeserialize(using = RatingDeserializer.class)
public class Rating {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JoinColumn(name = "driver_id")
private Driver driver;
@ManyToOne
@JoinColumn(name = "client_id")
private Client client;
private int mark;
private Date createdAt;
//Getters and Setters ...
}
私は
@OneToMany(mappedBy = "driver", fetch = FetchType.EAGER, orphanRemoval = true, cascade = CascadeType.REMOVE)
とコール
driverRepository.delete(driver)
はそれがスローに
ratings
に注釈を付けている何をすべきか
まず1:
org.postgresql.util.PSQLException: ERROR: update or delete on table "drivers" violates foreign key constraint "fk3raf3d9ucm571r485t8e7ew83" on table "ratings"
いいえ、別の方法を選択してください。 ratingRepository
を使用して、各評価オブジェクトを削除しようとするが、決して起こらない、それだけで徹底し、各評価項目を反復処理し、再び
org.postgresql.util.PSQLException
次のステップをエラー投げることは、各評価項目クライアントとがnullにドライバ用に設定することでした。現在、ドライバエンティティはデータベースから削除されますが、レーティングエンティティはデータベースに残ります。 どうしますか?
春データJPAバージョン:1.5.7
ありがとうございました。 – GVArt