Hibernate初探之单表映射

来源:互联网 发布:xml转对象 java 编辑:程序博客网 时间:2024/05/24 06:53

什么是ORM?

ORM(Object Relationship Mapping): 对象关系映射。

利用面向对象思想编写的数据库应用程序最终都是将对象信息保存在关系型数据库中,于是要编写很多和底层数据库相关的SQL语句。比如My SQL,SQL Server, Oracle等。这和面向对象的编程思想格格不入。

在程序当中编写SQL语句有什么不好?
1. 不同的数据库使用的SQL语法不同。比如PL/SQL(Oracle制定的版本), T/SQL(微软制定的版本)
2. 同样的功能在不同数据库中有不同的实现方式。比如分页功能。Oracle 用rownum, mysql 用limit,sql server用top
3. 程序过度依赖SQL会是程序的 移植,扩展和维护等带来很多麻烦。

所以有没有办法让程序员彻底抛弃书写SQL的思想,完全使用面向对象思想编程软件呢?

这就需要一种可行的ORM框架技术。

什么是Hibernate?

Hibernate是java领域的一款开源的ORM框架技术

Hibernate对JDBC进行了非常轻量级的对象封装。使得java程序可以轻松的使用面向对象的思想来操作数据库。Hibernate本质上还是使用的JDBC,只是进行了封装。Hibernate在我们应用程序中处于业务逻辑层和数据库层之间,我们称之为持久化层

其他主流的ORM框架:
1. Mybatis(Apache开源ORM技术): 前身就是著名的IBatis
2. TopLink: 后来被ORACLE 收购了,并封装成 Oracle As TopLink
3. EJB: 本身是javeEE的规范, 是一个重量级的ORM框架,使用起来也比较复杂,所以目前JAVAEE项目中庸的比较少。

Hibernate 实体类的设计原则

  • 是共有的类
  • 提供共有的不带参数的默认的构造方法
  • 属性私有
  • 属性 setter/getter封装