我遇到了删除 ManyToOne 关系的许多方面的问题。我已经从关系中删除了所有 CascadeTypes ,但问题仍然存在。该条目不会被删除(只执行选择而不删除查询)。我试图通过CRUD存储库调用删除它。它调用方法并成功执行但没有任何反应。
关系如下:一个活动有一个指定的课程,一个课程可以分配许多活动。活动具有特定的活动类型。
课程如下。
活动
//Not working
课程
public class Activity implements Item, Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
...
@ManyToOne
@JoinColumn(name = "type_id", nullable = false)
private ActivityType type;
@ManyToOne
@JoinColumn(name = "course_id", nullable = false)
@JsonSerialize(using = CustomCourseSerializer.class)
private Course course;
...
}
活动类型(没有参考活动)
public class Course implements Item, Serializable {
...
@OneToMany(mappedBy = "course", fetch = FetchType.EAGER, targetEntity = Activity.class) //cascade = { CascadeType.MERGE, CascadeType.REFRESH, CascadeType.DETACH, CascadeType.REMOVE}
@Fetch(value = FetchMode.SUBSELECT)
private List<Activity> activities;
...
}
任何想法如何解决此问题或至少调试它?谢谢。
答案 0 :(得分:1)
尝试从Activity
删除对Course
的引用。我似乎没必要