在我的应用程序中,我有一个名为Category and Post的类。如果我删除类别,则删除具有相同类别名称的帖子。
如果没有一些代码,此信息并不有用。
在类别类中:
@OneToMany(mappedBy = "category", cascade = CascadeType.ALL)
private List<Post> posts;
在Post课程中:
@ManyToOne
@JoinColumn(name = "category_id")
private Category category;
在类别控制器中:
@RequestMapping(value = "/{id}/delete", method = RequestMethod.GET)
public ModelAndView delete(@PathVariable("id") long id) {
categoryRepository.delete(id);
return new ModelAndView("redirect:/categories");
}
同样,删除一个类别(或执行上面的控制器方法)会删除所需的类别,但它也会删除整个帖子。
mysql> select * from category;
+----+------+---------+
| id | name | user_id |
+----+------+---------+
| 2 | a | 1 |
+----+------+---------+
1 row in set (0.00 sec)
mysql> select * from post;
+----+-----------+------------+---------+-------------+---------+
| id | completed | date | message | category_id | user_id |
+----+-----------+------------+---------+-------------+---------+
| 2 | 0 | 2016-04-04 | post | 2 | 1 |
+----+-----------+------------+---------+-------------+---------+
1 row in set (0.00 sec)
有关如何解决此问题的任何建议?