Java Spring Repository删除不工作的OneToMany关系

时间:2017-05-08 10:34:38

标签: java database spring sql-delete many-to-one

我遇到了删除 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;

...
}

任何想法如何解决此问题或至少调试它?谢谢。

1 个答案:

答案 0 :(得分:1)

尝试从Activity删除对Course的引用。我似乎没必要