所在cascade,就是说我在更新一方的时候,可以根据这一方对象之间的关联关系,去对被关联方进行持久化,比如说Team和Student之间的1对多关系,使用cascade,可以在team方维护其持有的student集合时,自动对其新增,修改,删除的student对象进行持久化,而没必要显示的进行session.save(student)操作,cascade="delete"的意思就是说,我在session.delete(team)的时候,可以一并删除其所有的student
数据库脚本:
create
table
student(id
varchar
(
32
)
primary
key
,
team_id
varchar
(
32
),
name
varchar
(
32
),
cardid
varchar
(
32
),
age
int
);
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
create
table
team(id
varchar
(
32
)
primary
key
,
team_id
varchar
(
32
),
teamname
varchar
(
32
));
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
insert
into
team
values
("
1
","
1
","team1");
insert
into
student
values
("
1
","
1
","stu1","
20070101
",
22
);
insert
into
student
values
("
2
","
1
","stu2","
20070102
",
23
);
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
持久化JavaBean
package
Cascade.saveUpdate;
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
public
class
Student
...
{
private String id;
private String cardid;
private String name;
private int age;
private Team team;
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public String getId() ...{
return id;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void setId(String id) ...{
this.id = id;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public String getCardid() ...{
return cardid;
}
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
public void setCardid(String cardid) ...{
this.cardid =