Hibernate是一个开发源码的对象关系映射框架,它对JDBC进行例如非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象思维来操作数据库。
Hibernate可以应用的任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servler/JSP的web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JAVAEE架构中取代CMP,完成数据持久化的重任。
大多数开发机构经常采取创建各自独立的数据持久层。一旦底层的数据结构发生改变,那么修改应用的其余部分使之适应这种改变的代价是十分巨大的。Hibernate适时的填补了这以空白,它为Java应用提供了一个易用的,高效率的对象关系映射框架。Hibernte是一个轻量级的持久性框架,功能却非常丰富。
主要优点:
1.Hibernate使用JAVA反射机制而不是字节码增强程序来实现透明性。
2.Hibernate的性能非常好,因为它是一个轻量级的框架。映射的灵活性很出色。
它支持各种数据库,从一对一到多对多的各种复杂关系。
Hibernate3.2以前的版本并不支持注解映射,每一个POJO类都要对应一个映射文件(XXX.hbm.xml),在一个比较大的项目中,如果采用配置文件映射,可想而知,相当复杂,容易混乱,正好,Hibernate3.2以后版本解决了此问题,通过注解,即可完成映射,并不需要映射文件,如图:
图中,完成了id和name的映射,其中@Column表示映射的列, name 属性表示数据库中的列名,strategy 属性表示了主键是生成策略,@Entity表示实体类,@Table表示映射的表,name表示映射到数据库中的表名,其中name可以省略,前提是类名和表名相同。
这些注解均在 javax.persistence包中,所以要导入这个包,才能使用这些注解
使用Hibernate3.2 以上版本的注解映射,需导入以下jar包:
1. ejb3-persistence.jar
2. hibernate-annotations.jar
3. hibernate-commons-annotations.jar
4. hibernate-core.jar
如果和Spring 整合,那么需要另外导入一个jar包(spring.jar)。
注意:
此spring.jar必须是 Spring2.5以上版本的,因为,Spring2.5之前org.springframework.orm.hibernate3.LocalSessionFactoryBean类中,并没有 packageToScan 这个属性,只有mappingResuorces这个属性。而packageToScan这个属性正是映射包中的类,而mappingResuorces只是映射某个文件。
<property name=” packageToScan”>
<list><value>com.test.po</value></list>
</property>
这样,即可完成映射。
在使用 Hiberante注解映射和Spring整合过程中可能遇到的异常:
-
如出现java.lang.NoClassDefFoundError: org/dom4j/ ,导入dom4j.jar包即可
-
如出现java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory , 需要导入以下四个jar包(1: slf4j-api-1.4.3.jar、2:slf4j-jdk14-1.4.3.jar、3:slf4j-log4j12-1.4.3.jar、4:log4j-over-slf4j-1.4.3.jar) 即可
-
如出现java.lang.NoClassDefFoundError: javax/transaction/TransactionManager , 需要导入 jta.jar包
-
java.lang.ClassNotFoundException: antlr.ANTLRException 则需要导入ant.jar包
-
org.springframework.util.Assert.noNullElements([Ljava/lang/Object;Ljava/lang/String;)V Invalid property 'packagesToScan' of bean class [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]: Bean property 'packagesToScan' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? 这是由于,spring.jar包的版本不符,把spring.jar换成Spring 2.5以上版本即可
-
6. java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V jar包冲突,删除asm-2.2.3.jar 即可
分享到:
相关推荐
Hibernate3.2则是一个对象关系映射(ORM)工具,简化了数据库操作。 首先,Struts1.2框架的核心是ActionServlet,它作为MVC模式中的控制器,接收HTTP请求并调用相应的Action类来处理业务逻辑。ActionForm对象用于...
Hibernate3.2是一款广泛应用于Java开发中的开源对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者能够用面向对象的方式处理数据。这个jar包是Hibernate3.2版本的核心组件,包含了所有必要的类库,使得...
Hibernate 3.2 是一个非常重要的Java持久化框架版本,它极大地简化了数据库与Java对象之间的交互,使得开发者能够更加专注于业务逻辑而不是繁琐的数据访问层实现。本篇将深入探讨Hibernate 3.2的主要特性、核心概念...
在Hibernate 3.2版本中,这个框架提供了丰富的功能和改进,使得开发者能够更加高效、便捷地处理数据持久化问题。 1. **对象关系映射(ORM)基础** - ORM是将对象模型与关系数据库模型之间建立映射的技术,使得...
本资源包含的是Hibernate 3.2版本的完整源代码,这个版本在当时是相当稳定且广泛使用的。 在深入探讨Hibernate 3.2的源码之前,我们需要理解ORM的基本概念。ORM将数据库中的表映射为Java对象,通过对象之间的关系来...
标题 "some simple demo about hibernate3.2 and spring2.5" 暗示这是一个关于如何集成和使用 Hibernate 3.2 和 Spring 2.5 的简单演示项目。这两个库在Java开发中扮演着重要角色,Hibernate是流行的对象关系映射...
Hibernate 3.2 是一个非常重要的Java持久化框架,它为开发者提供了强大的对象关系映射(ORM)功能,使得在Java应用中操作数据库变得更加简单。这个核心jar包包含了实现Hibernate功能所需的所有基本类和接口,是开发...
- **Mapping**:对象关系映射是 Hibernate 的核心功能,通过 XML 或注解的形式定义 Java 类与数据库表之间的映射关系。 #### 四、配置与环境 - **hibernate.cfg.xml**:这是 Hibernate 的核心配置文件,其中定义了...
Hibernate3.2是流行的ORM(对象关系映射)框架,它简化了数据库操作,将SQL与Java代码分离。在Hibernate3.2中,注解如`@Entity`、`@Table`、`@Id`等被用来标记实体类和属性,使得数据库模型与Java对象可以直接对应。...
Hibernate3.2是其发展中的一个重要版本,提供了许多改进和新特性。 在《Hibernate3.2官方中文参考手册》中,我们可以深入学习到以下关键知识点: 1. **对象关系映射(ORM)基础**:ORM的核心思想是将数据库中的...
在Hibernate 3.2版本中,它提供了许多改进和增强的功能,包括性能优化、对JPA(Java Persistence API)的支持以及对最新数据库版本的兼容性。 以下是一些关于Hibernate 3.2中关键知识点的详细解释: 1. **对象关系...
8. **实体类和注解**:在Hibernate 3.2中,除了传统的XML映射文件,也可以使用Java 5以上的注解来标注实体类,简化配置。 9. **Caching缓存**:Hibernate支持二级缓存,可以集成第三方缓存系统,如 Ehcache,以...
这个压缩包包含的是Hibernate 3.2版本的源代码,这是一个非常重要的里程碑,因为它在当时引入了许多改进和新特性,对Java社区产生了深远的影响。 在Hibernate 3.2中,有几个关键的知识点值得一提: 1. **对象关系...
Hibernate Annotation部分是关于使用注解进行对象关系映射的详细指南。在Hibernate 3.2中,注解成为主要的映射方式,替代了传统的XML配置。此文档详细讲解了各种注解的使用,如@Entity、@Table、@Column、@Id、@...
此外,Hibernate 3.2支持注解式映射,可以直接在Java类或属性上添加注解来完成映射。 四、持久化操作 1. 插入(Save/SaveOrUpdate):使用Session的save()或saveOrUpdate()方法,可以将新建的对象持久化到数据库。 ...
在Hibernate 3.2版本中,开发者们能够更深入地理解其内部机制,从而提高开发效率和应用性能。本篇文章将详细解析Hibernate 3.2的核心功能和源代码结构。 一、Hibernate概览 Hibernate是Java社区中的明星项目,它...
综上所述,"Hibernate3.2参考文档"提供了全面的指南,涵盖了从基础到高级的所有主题,对于学习和掌握Hibernate 3.2版本的开发人员来说是非常宝贵的资源。无论是初学者还是经验丰富的开发者,都能从中受益,提升自己...
Hibernate 3.2 是一个非常重要的Java持久化框架版本,它极大地简化了数据库与Java对象之间的交互。这个源代码包提供了深入理解Hibernate工作原理的机会,同时也包含对应的.jar包,使得开发者可以直接在项目中使用。...
【hibernate3.2课件共31页.pdf.zip】这个压缩文件包含了关于Hibernate 3.2的详细教学资料,共计31页。Hibernate是一个非常重要的Java持久化框架,它简化了数据库操作,使开发者能够更加专注于业务逻辑而不是数据库...