面向新用户,从一个简单的使用内存数据库的例子开始,本章提供对 Hibernate 的逐步介绍。本 教程基于 Michael Gloegl 早期编写的手册。所有代码都包含在 tutorials/web 目录下。
Hibernate 是处于开发中的持久层框架,他是一个 ORM 映射工具(Object/RelationMapping,对象-关系映射,就是通过将 Java 对象映射到数据库表,通过操作 Java 对象,就 可以完成对数据表的操作)。是轻量级 JavaEE 应用的持久层解决方案。
Hibernate是一种orm 工具,O(object是Java中的对象)、R(relation是关系——关系型数据库中的数据)、M(mapping是映射),将数据库中的数据和内存中的Java的面向对象的数据进行数据之间的映射的工具。
在hibernate中一对多关联时会经常用到inverse和cascade属性
对象/关系映射ORM(Object-RelationMapping)是用于将对象与对象之间的关系对应到数据库表与表之间的关系的一种模式。简单地说,ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中。对象和关系数据是业务实现的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在着关联和继承关系。而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,ORM系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。一般的ORM包括四个部分:对持久类对象进行CRUD操作的API、用来规定类和类属性相关查询的语言或API、规定mappingmetadata的工具,以及可以让ORM实现同事务对象一起进行dirtychecking、lazyassociationfetching和其他优化操作的技术。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
因为JAVA是面向对象的,JDBC没有做到使数据能够面向对象的编程,使程序员的思考仍停留在SQL语句上。
hibernate3.3_学习笔记
hibernate开发文档
今天在使用SSH整合开发一个Demo的时候发生了很多问题,为了让自己不再犯同样的错误,特此把总结写一下。
MyEclipse使用hibernate正向工程,hibernate的正向工程是指从java实体类生成数据库表的过程,这种过程符合java程序员面向对象编程的思想,也是工程设计的时候使用比较多的一种思想。具体实施过程如下。
MySQL+Hibernate下连接空闲8小时自动断开问题解决方案 前段时间刚完成一个家教网项目,数据库为MySQL5.0,持久层使用Hibernate3.1,没有使用额外的连接池,那么Hibernate会默认使用它自带的一个默认连接池,也就是DriverManagerConnectionProvider。 先在本机上调试都毫无问题,于是部署到服务器上,也都没什么问题。由于这是新网站,根本还没正式对外发布和宣传,所以头两天根本没人访问。
第七章缓存及注解第三单元第页/共25页本章相关学习资源《使用缓存提高查询性能》专题《使用注解简化映射配置》专题《升级新闻管理系统》相关专题《使用Hibernate升级新闻管理系统》第7章《缓存及注解》第页/共25页学习平台“Hibernate实现数据持久化”课程学生用书预习检查简述缓存的作用简述Hibernate的缓存分类列举完成实体类常用配置的注解第页/共25页本章任务任务1:使用一级缓存查询特定房屋信息任务2:使用二级缓存和查询缓存任务3:使用注解配置项目任务
第六章Criteria查询及命名查询第三单元第页/共29页本章相关学习资源《使用Criteria查询数据》专题《使用命名查询与本地SQL》专题《使用Hibernate升级新闻管理系统》第6章《Criteria查询及命名查询》第页/共29页学习平台“Hibernate实现数据持久化”课程学生用书预习检查简述如下代码的作用如何使用Criteria实现分页简述实现命名HQL查询的步骤
Hibernate不同数据库的连接及SQL方言本文讲述Hibernate不同数据库的连接及SQL方言。Hibernate不同数据库的连接可能会出现错误,有一种情况是由于HibernateSQL方言设置不正确而导致的。
第一步:操作接口IGenericDao.java 所用的集成操作增删改查packagecom.ssh.common.dao;/***功能:hibernate操作模板基类设计
Hibernate调优不只是设置一下lazy,调整一下由谁来维护这个字段而已。这次要说的是对查询语句进行优化 - select new map()。