亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

雙向一對多 JPA org.hibernate.exception.Constraint

雙向一對多 JPA org.hibernate.exception.Constraint

墨色風雨 2022-07-06 19:04:26
嘗試將正確的關系數據添加到一對多聯接的另一側時,我遇到了此異常。由于某種原因,它沒有自動獲取 car_id這是我的代碼。汽車模型@Data@Entity@Table(uniqueConstraints={  @UniqueConstraint(columnNames = {"date", "auctionNumber", "auctionId"})})public class Car {  @Id  @GeneratedValue  private UUID id;  private String date;  private int auctionId;  private int auctionNumber;  @OneToMany(mappedBy = "car", orphanRemoval = true, cascade={CascadeType.ALL})  private List<CarPhoto> photos;  public void addPhoto(CarPhoto photo) {    if (photos == null) {      photos = new ArrayList<CarPhoto>();    }    photos.add(photo);    photo.setCar(this);  }}汽車照片模型@Data@Entity@Table(name="car_photo")public class CarPhoto {  @Id  @GeneratedValue  private UUID id;  @Column(unique=true)  private String path;  @ManyToOne(fetch=FetchType.LAZY)  @JoinColumn(name="car_id", insertable=false, updatable=false)  private Car car;}Repository @Repository 公共接口 CarRepository 擴展 CrudRepository { }持久性...loop cardata {    Car car = new Car();    car.setAuctionId(cardata.auctionId);    car.setAuctionNumber(cardata.auctionNumber);    car.setDate(cardata.date);    Pattern.compile("#").splitAsStream(cardata.pictures).forEach(path - > {        CarPhoto photo = new CarPhoto();        photo.setPath(path);        car.addPhoto(photo);    });    cars.add(car);}carRepository.saveAll(cars);
查看完整描述

2 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

實際上,您需要從映射中刪除insertable = false和刪除:updatable = false

@JoinColumn(name="car_id", insertable=false, updatable=false)

并覆蓋equals和實體的hashCode方法以避免重復實體。您可以使用 lombok 的.CarCarPhoto@EqualsAndHashCode(callSuper = false)

因為只有insertable=true您才能插入實體,但這可能違反唯一約束。


查看完整回答
反對 回復 2022-07-06
?
慕的地6264312

TA貢獻1817條經驗 獲得超6個贊

insertable=false從您的聲明中刪除@JoinColumn(name="car_id", insertable=false, updatable=false)。因為現在您拒絕設置和更新字段car_id



查看完整回答
反對 回復 2022-07-06
  • 2 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號