一、Hibernate的基本用法
Hibernate是轻量级Java EE应用的持久层解决方案,Hibernate不仅管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度缩短处理数据持久化的时间。
目前主流数据库依然是关系数据库,而Java语言则是面向对象的编程语言,当把二者结合在一起使用时相当麻烦,而Hibernate减少了这个问题的困扰,它完成对象模型和基于SQL的关系模型的映射关系,使得应用开发者可以完全采用面向对象的方式来开发应用程序。
Hibernate较之另一个持久层框架MyBatis,Hibernate更具有面向对象的特征;受Hibernate的影响,Java EE 5规范抛弃了传统的Entity EJB,改为使用JPA作为持久层解决方案。而JPA实体完全可以当成Hibernate PO(Persistent Object,持久化对象)使用,由此可见Hibernate的影响深远。Hibernate倡导低侵入式的设计,完全采用普通的Java对象(POJO)编程,不要求PO继承Hibernate的某个超类或实现Hibernate的某个接口。
Hibernate充当了面向对象的程序设计语言和关系数据库之间的桥梁,Hibernate允许程序开发者采用面向对象的方式来操作关系数据库。
1、ORM和Hibernate
ORM框架可作为面向对象编程语言和数据库之间的桥梁。
1)对象/关系数据库映射(ORM)
ORM的全称是Object/Relation Mapping,即对象/关系数据库映射。ORM可以理解成一种规范,它概述类这类框架的基本特征:完成面向对象的编程语言到关系数据库的映射。当ORM框架完成映射后,即可利用面向对象的程序设计语言的简单易用性,又可利用关系数据库的技术优势。
当使用面向对象的程序设计语言开发时,从项目开始起一直采用的是面向对象分析、面向对象设计、面向对象编程,但到了持久层数据库访问时,又必须重返关系数据库的访问方式。于是需要一种工具,它可以把关系数据库包装成面向对象的模型,这个工具就是ORM框架。