传智播客Hibernate视频教程学习笔记22

来源:互联网 发布:nginx 隐藏版本号 编辑:程序博客网 时间:2024/05/17 22:59

 多对多关系的检索:

 

test.java

和以前一样加上禁用懒加载。

 

Hibernate: select teacher0_.id as id5_0_, teacher0_.name as name5_0_ from Teacher teacher0_ where teacher0_.id=?

根据teacher编号查询teacher信息
Hibernate: select students0_.teacher_id as teacher1_1_, students0_.student_id as student2_1_, student1_.id as id7_0_, student1_.name as name7_0_ from teacher_student students0_ left outer join Student student1_ on students0_.student_id=student1_.id where students0_.teacher_id=?
连接两张表查询teacher中student集合的信息

Hibernate: select teachers0_.student_id as student2_1_, teachers0_.teacher_id as teacher1_1_, teacher1_.id as id5_0_, teacher1_.name as name5_0_ from teacher_student teachers0_ left outer join Teacher teacher1_ on teachers0_.teacher_id=teacher1_.id where teachers0_.student_id=?
连接两张表查询student中teacher集合信息

Hibernate: select teachers0_.student_id as student2_1_, teachers0_.teacher_id as teacher1_1_, teacher1_.id as id5_0_, teacher1_.name as name5_0_ from teacher_student teachers0_ left outer join Teacher teacher1_ on teachers0_.teacher_id=teacher1_.id where teachers0_.student_id=?

连接两张表查询student中teacher集合信息

 

有四条查询语句了。可见这样的查询效率非常第,这一点也是我非常疑惑的,系统里如果这样设计,学生教师关联的信息量肯定是非常大的,这样子的话,程序不死掉才怪。视频上说一般情况下建立多对一关系,而不需要一对多和多对多了,信息量实在太大了,看来设计方式上还是要好好了解一下,一般情况下的系统是如何设计的,才好下手。

原创粉丝点击