Hibernate的定义:
1.就是一个ORMapping的实现,主要的功能就是以对象的形式操作数据库。
关于ORMapping:对象关系映射(object relational mapping)是为了解决面向对象和关系数据库互不匹配的现象的技术。通过描述对象和数据库之间映射的元数据,来将java程序中的对象自动持久化到关系数据库中。
ORMapping的优点:1.提高生产率 2.更好的维护性 3.更i好的性能 4.厂商独立性
一些可选的方案
1.JDBC (成熟流行)(可读性差,维护和移植困难)
2.Entity Bean (未来的EJB3)(不可移植,依赖性强)
3.JDO (简单透明)(不成熟)
4.Apache OJB (性能,稳定性不错) (文档少)
5. iBATIS (封装了很多数据库操作细节)(持久层封装不够彻底,相当于个DBHelper)
6.Hibernate (成熟流行,已成为标准)(不够透明)
Hibernate的核心接口:Session,Transaction,Query,SessionFactory,Configuration
Hibernate封装的与数据库的交互接口:JNDI,JDBC,JTA
Java事务API(JTA;Java Transaction API)和它的同胞Java事务服务(JTS;Java Transaction Service),为J2EE平台提供了分布式事务服务。
JTA事务比JDBC事务更强大。一个JTA事务可以有多个参与者,而一个JDBC事务则被限定在一个单一的数据库连接。
JNDI(Java Naming and Directory Interface)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。
JNDI提供了一种统一的方式,可以用在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个记录,同时返回数据库连接建立所必须的信息。
Hibernate的映射配置:
数据库定义 --> hbm映射 --> POJO类