java hibernate 关联关系有什么作用
2017-08-16 16:37
274 查看
看本篇文章需要你对hibernate知识有一定的了解。
我们在学每个新知识之前,都希望了解这个知识有什么用?在实际开发中有什么优势?是否便于理解和便于学习?等等问题。当了解这个知识点后,我们才用动力去学习这个新知识点。
关联关系有什么用?
hibernate 中数据是以实体(@Entity 注解修饰类)类呈现给我们的。当数据被封装到这个实体类后,我们就可以将这个实体类当作实体对象。怎么理解?
举个例子
从班级表中查出某个学生的信息并封装到一个实体类classInfo中,这时候实体类classInfo我们就可以将这个类看做是这个班级了。
那么,根据需求,我们衍生出了还有一个Student表 学生表
班级和学生之间的关联关系是一对多。
那么,如果有一天,我们需要删除这个班级。删除这个班级后,所有的学生也会随班级的消失而消失。 这时候关联关系的作用就提现出来了
删除班级的时候 如果在实体中指定了与学生存在级联删除关系,那么在删除之前,会查询该班级下面所有的学生并删除这些学生。
级联删除关系
如果在班级实体类中存在这个关系,那么删除班级的时候也会删除该班级下的学生。
当然不只是删除,上面实例中cascade=CascadeType.REMOVE 指的是该实体与目标实体之间的级联关系是随着删除。
这是我在级联关系中用的最多的一个作用。当然还有其它的一系列级联关系,有兴趣的可以自己度妈学习。
我们在学每个新知识之前,都希望了解这个知识有什么用?在实际开发中有什么优势?是否便于理解和便于学习?等等问题。当了解这个知识点后,我们才用动力去学习这个新知识点。
关联关系有什么用?
hibernate 中数据是以实体(@Entity 注解修饰类)类呈现给我们的。当数据被封装到这个实体类后,我们就可以将这个实体类当作实体对象。怎么理解?
举个例子
从班级表中查出某个学生的信息并封装到一个实体类classInfo中,这时候实体类classInfo我们就可以将这个类看做是这个班级了。
那么,根据需求,我们衍生出了还有一个Student表 学生表
班级和学生之间的关联关系是一对多。
那么,如果有一天,我们需要删除这个班级。删除这个班级后,所有的学生也会随班级的消失而消失。 这时候关联关系的作用就提现出来了
Session session = sessionFactor.openSession(); Transcation trans = session.beginTranscation(); session.delete(classInfo); // 删除班级 trans.commit();
删除班级的时候 如果在实体中指定了与学生存在级联删除关系,那么在删除之前,会查询该班级下面所有的学生并删除这些学生。
级联删除关系
@OneToMany(targetEntity=Student.class,fetch=FetchType.LAZY,cascade=CascadeType.REMOVE) @JoinColumn(name="classId") public Set<Student> setStudent;
如果在班级实体类中存在这个关系,那么删除班级的时候也会删除该班级下的学生。
当然不只是删除,上面实例中cascade=CascadeType.REMOVE 指的是该实体与目标实体之间的级联关系是随着删除。
这是我在级联关系中用的最多的一个作用。当然还有其它的一系列级联关系,有兴趣的可以自己度妈学习。
相关文章推荐
- JAVA三大框架Struts、hibernate和spring的各自作用是什么?
- java中三大框架struts/Hibernate/Spring,具体是怎样合作工作的?各自实现什么功能?
- java this和super关键字 有什么作用
- java 的接口到底起什么作用
- Java 中的接口有什么作用?
- java中什么是构造方法及其作用
- Java中static是什么意思,有什么作用?
- 在java中assert有什么作用?
- Java中对象序列化的作用是什么
- @SuppressWarnings("serial")在Java中有什么作用?
- SSH中 struts hibernate spring 各起什么作用
- java下Class.forName的作用是什么,为什么要使用它(和new对象的区别)
- java xml是什么,作用是什么
- 修改 Java 中的接口有什么作用?
- Java技术_Java千百问(0030)_package和import作用是什么
- Java除了8种基本类型外,在虚拟机里还有哪一种,有什么作用?
- 在JAVA中线程到底起到什么作用
- 第1章 Java基本概念及环境配置——FAQ1.07 什么是JVM?有什么作用?工作机制如何?
- Java 字符串对象池的作用是什么?
- java 的接口到底起什么作用