hibernate多对一关联映射(cascade的使用)
2013-02-23 16:22
246 查看
一. cascade属性的介绍
1. 取值: all、none、save-update、delete
2. all -- 在所有情况下都执行级联操作
none -- 在所有情况下都不执行级联操作
save-update -- 在保存和更新的时候执行级联操作
delete -- 在删除的时候执行级联操作
二. 举例说明
例如教师和学生是一对多的关系,既一个老师对应多个学生。
在Student.hbm.xml文件中,多对一标签<many-to-one name="teacher" column="teacherID" cascade="all">
三. 程序实现
//教师实体
Teacher teacher = new Teacher();
teacher.setName("王老师");
teache.setEmail(XXXXX);
// session.save(teacher);
//学生实体
Student student = new Student();
student.setName("张三");
student.setTeacher(teacher);
session.save(student);
四. 程序说明
在Student.hbm.xml文件中,如果不加入cascade="all"这个标签,则标题三中的程序在没有“session.save(teacher);”这段代码的情况下会报错,因为teacher是临时
对象。而加入了cascade="all"这个标签后,在保存学生之前会先将教师信息进行保存,然后再保存学生,所以没有那段代码,程序不会报错。
转自:http://blog.csdn.net/tiedao123456789/article/details/7307966
1. 取值: all、none、save-update、delete
2. all -- 在所有情况下都执行级联操作
none -- 在所有情况下都不执行级联操作
save-update -- 在保存和更新的时候执行级联操作
delete -- 在删除的时候执行级联操作
二. 举例说明
例如教师和学生是一对多的关系,既一个老师对应多个学生。
在Student.hbm.xml文件中,多对一标签<many-to-one name="teacher" column="teacherID" cascade="all">
三. 程序实现
//教师实体
Teacher teacher = new Teacher();
teacher.setName("王老师");
teache.setEmail(XXXXX);
// session.save(teacher);
//学生实体
Student student = new Student();
student.setName("张三");
student.setTeacher(teacher);
session.save(student);
四. 程序说明
在Student.hbm.xml文件中,如果不加入cascade="all"这个标签,则标题三中的程序在没有“session.save(teacher);”这段代码的情况下会报错,因为teacher是临时
对象。而加入了cascade="all"这个标签后,在保存学生之前会先将教师信息进行保存,然后再保存学生,所以没有那段代码,程序不会报错。
转自:http://blog.csdn.net/tiedao123456789/article/details/7307966
相关文章推荐
- hibernate多对一关联映射(cascade的使用)
- hibernate多对一关联映射(cascade的使用)
- Hibernate关联映射,级联(cascade),抓取策略(fetch)
- 【Hibernate框架】使用链接表的关联映射(一对多/多对一、单/双向映射)
- Hibernate_映射_关联关系_cascade属性、单向关联
- 第6章深入使用Hibernate 6.1Hibernate的关联映射
- hibernate之关于使用连接表实现一对多关联映射
- Hibernate 简单使用(四)一对多关联映射
- hibernate之关于使用连接表实现多对一关联映射
- Hibernate 简单使用(六)多对多关联映射(二)
- hibernate之关于使用连接表实现一对多关联映射
- hibernate使用注解实现多对多关联映射
- Hibernate 多表关联映射- Hibernate中使用的集合类型(set,list,array,bag,map)
- Hibernate 多表关联映射- Hibernate中使用的集合类型(set,list,array,bag,map)
- Hibernate高级实体关联映射之多值的实体关联(一对多关联,使用list)
- Hibernate 多表关联映射- Hibernate中使用的集合类型(set,list,array,bag,map)
- Hibernate 多表关联映射- Hibernate中使用的集合类型(set,list,array,bag,map)
- 【Hibernate】——使用连接表的单向关联映射
- Hibernate高级实体关联映射之多值的实体关联(一对多关联,使用set)
- Hibernate高级实体关联映射之多值的实体关联(一对多关联,使用map)