删除一个表中的条目会删除另一个表中的整行

时间:2016-04-19 00:49:41

标签: java spring hibernate spring-data-jpa

在我的应用程序中,我有一个名为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)

有关如何解决此问题的任何建议?

0 个答案:

没有答案