拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 如何洗掉平面图儿童

如何洗掉平面图儿童

白鹭 - 2022-03-11 2272 0 0

我有这样的物业物体和平面图物体

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "properties", indexes = {@Index(name = "properties_parent_id_index", columnList = "parent_id", unique = true)})
public class PropertyEntity extends BaseEntity {



    @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinColumn(name = "property_id")
    private List<FloorPlanEntity> floorPlans;

....
...
}

现在我尝试洗掉孩子并保存父母

像这样`

propertyEntity.getFloorPlans().clear();
propertyDataService.save(propertyEntity);

但它给出了这样的例外

引起:org.postgresql.util.PSQLException:错误:关系“floor_plans”的“property_id”列中的空值违反了非空约束

uj5u.com热心网友回复:

我认为您可以使用@OneToMany(orphanRemoval = true) 它提供了一种从数据库中洗掉孤立物体的方法。因此,当它从串列中洗掉时,它应该从数据库中洗掉 FloorPlanEntity。有一些带有解释的教程:https : //www.baeldung.com/jpa-cascade-remove-vs-orphanremoval#orphanremoval

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *