发布于 2014-12-17 11:50:04 | 666 次阅读 | 评论: 0 | 来源: PHPERZ
Hibernate 开源对象关系映射框架 ORM
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
本文为大家讲解的是Hibernate中的left outer join用法,感兴趣的同学参考下.
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
一对多的连接:
select student from Teacher t join t.students student where student....
多对一,这里有隐式和显示的区别(上面的一对多的情况属于隐式连接)。可以像下面这样
select student from Student student
where student.teacher.age>30
这属于隐式的,Hibernate会自动连接Teacher表。也可以像下面这样显示的连接:
select student from Student student
left outer join student.teacher t
where t.age>30
这里明确的说明了连接Teacher表的时候要使用左外连接。这里容易忽略outer,如果写成下面的样子:
select student from Student student
left join student.teacher t
where t.age>30
这是错误的写法,Hibernate将不认识t.age的条件。