级联到底有什么用?
(在进行级联操作时,为了提高性能,会在一方关系属性中追加inverse="true"设置,目的是让一方放弃关系维护操作)放弃关系维护操作又是什么意思?
(在进行级联操作时,为了提高性能,会在一方关系属性中追加inverse="true"设置,目的是让一方放弃关系维护操作)放弃关系维护操作又是什么意思?
解决方案 »
- 求助OA系统实现共享人员表
- oracle分页,每页大小多少最佳??
- Hibernate的多对一,一对多关系的初级问题。
- 下拉列表框的查询问题
- 100分求jdbc问题,解答立即结贴,谢
- 我有一个比较棘手的JAVA问题谁能给我讲一下啊?
- Access denied for user 'root'@'localhost' (using password: YES)
- 关于BigDecimal的问题
- Java访问MySQL不成功,SOS!
- 讨论:如何走j2ee路!
- 在线求教高手:Junit入门问题,一用allOf或者anyOf就提示找不到方法。
- java.math.BigInteger cannot be cast to com.labmanager.fw.data.bo.Lab
inverse 主要是主外键关系的维护.不会删除级联对像.只能集合起作用
比如:
老师和学生的关系class Student{
}
class Teacher{
Set<Student> students = new HashSet<Student>();
}当在Teacher 端 inverse = false 时,
执行:
假定有个学生Set集合为 students
Teacher t = new Teacher();
t.setStudents(students)
save(t);数据库执行时就会
1、先保存t
2、然后保存students
3、然后把t生成的主键,update到student与teacher的关系外键上.
当inverse = true时
第3歩update就不需要.student自己去维护与teacher的外键关系.即第2歩就会之间把外键与学生实体直接保存到学生表中.也即老师不负责维护与学生的外键关系,也就是你说的放弃关系维护操作
2楼说的级联删除,需要结合另一个属性cascade,当cascade="delete"时,删除老师将会同时删除学生.
这些概念的东西完全可以google的,很基础的东西...