JPA OneToMany即使使用orphanRemoval = true也不会删除子级

时间:2019-11-26 16:24:40

标签: java sql hibernate spring-boot jpa

当我尝试从MealCategory中删除Meal时,什么也没发生,我什至没有添加“ orphanRemoval = true”,也没有收到任何错误。我正在将Spring Boot与JPA / Hibernate和SQL结合使用

公共类MealCategory

SELECT id::userid FROM users \gdesc
SELECT CAST(id as userid) FROM users \gdesc

公共餐

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "meal_category_id")
@JsonIgnore
private Integer id;
private String name;

@OneToMany(mappedBy = "mealCategory", cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true)
private List<Meal> meals;
package Models.Database;

公共类项目

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "meal_id")
@JsonIgnore
private Integer id;
private String name;

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "meal_category_id")
private MealCategory mealCategory;

@OneToOne( orphanRemoval = true)
@PrimaryKeyJoinColumn
@JsonIgnore
public Item item;

公共类订单

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "item_id")
@JsonIgnore
private Integer id;


@OneToOne(cascade = {CascadeType.ALL}, orphanRemoval = true)
@JoinColumn(name="meal_id")
private Meal meal;
private String description;
private Integer numberOfMeals;

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "order_table_id")
@JsonIgnore
private Order order;

0 个答案:

没有答案
相关问题