有个问题。。 一直不太明白。。例如:
表A
aid aname
1 A
2 V
3 C
表B
bid aid binfo
1 1 xxx
2 1 nnnn
3 3 zzzz
4 3 mmmm 1。表A和表B是一对多的关系。通过hibernate的配置文件,即hbm.xml可配置一对多这个关系。
然后检索时,直接检索两个表。(利用的是HQL语句)
2。直接左连接两个表。进行检索。(利用的是SQL语句) hibernate一对多检索,能检索出表A的aid是2的这条记录吗?
如果是用SQL的左连接就会把表A的都检索出来。 如果用hibernate进行检索的话,跟用SQL的左连接检索有什么区别?????
hibernate的一对多跟SQL的左连接检索一样吗?
hibernate可以left join on吗?
表A
aid aname
1 A
2 V
3 C
表B
bid aid binfo
1 1 xxx
2 1 nnnn
3 3 zzzz
4 3 mmmm 1。表A和表B是一对多的关系。通过hibernate的配置文件,即hbm.xml可配置一对多这个关系。
然后检索时,直接检索两个表。(利用的是HQL语句)
2。直接左连接两个表。进行检索。(利用的是SQL语句) hibernate一对多检索,能检索出表A的aid是2的这条记录吗?
如果是用SQL的左连接就会把表A的都检索出来。 如果用hibernate进行检索的话,跟用SQL的左连接检索有什么区别?????
hibernate的一对多跟SQL的左连接检索一样吗?
hibernate可以left join on吗?
如果是用SQL的左连接就会把表A的都检索出来。用Hibernate要用面向对象的思维去思考,你在查询的时候,如果没有配置lazy=false属性,那么默认会进行级联加载,也就是说可以根据A对象得到与之关联的B对象的集合。当然,在一般情况下,建议最好从多的一方获取一得一方。不然会有效率和异常问题。左外连接,肯定会保留左表的全部记录。hibernate的一对多跟SQL的左连接检索一样吗?感觉没有可比性,不应该这么理解。hibernate可以left join on吗?可以left join
如果是用SQL的左连接就会把表A的都检索出来。 如果用hibernate进行检索的话,跟用SQL的左连接检索有什么区别?????
hibernate的一对多跟SQL的左连接检索一样吗?
hibernate可以left join on吗?
-------------------------------------------------------
你先把做链接搞清楚。左链接是把左边表的数据全部显示出来。
A left join B,显示全部A的
B left join A,显示全部B的。显示不出来aid是2的记录。因为B表是左表,B里面没有。