我正在為我的 spring boot 應用程式創建一個洗掉 api 端點。我嘗試使用 JpaRepository 提供的 delete() 和 deleteById() 方法。但是,每當我嘗試使用 ConcertEntity 或 ConcertId 洗掉音樂會時,關聯的場地條目就會從場地表中洗掉。如何防止使用 JpaRepository 洗掉參考物體/表?
我目前的解決方案是在洗掉音樂會物體之前將場地設定為空。我的 ConcertRepositroy 擴展到 JpaRepository。
服務實作中的當前解決方案
public void deleteConcert(ConcertEntity e){
e.setVenue(null);
this.concertRepository.delete(e);
}
演唱會物體
@Entity
@Table(name = "CONCERTS")
public class ConcertEntity{
@Id
private UUID concertId;
@Column(name = "ARTIST")
String artist;
@Column(name = "VENUE_ID")
VenueEntity venue;
/*Getters && Setters here...*/
}
uj5u.com熱心網友回復:
使用適當的注釋來定義關系(@ManyToOne 或 @OneToOne)
@ManyToOne(optional = true)
@JoinColumn(name = "VENUE_ID")
private VenueEntity venue;
默認情況下,這不應觸發任何級聯洗掉,但如果要自定義行為,可以將級聯引數添加到 @ManyToOne 或 @OneToOne 注釋。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/514381.html
下一篇:如何驗證注釋@Email?
