Hibernate开发讲义JPA注解.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:24 大小:23KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

Hibernate开发讲义JPA注解.doc

Hibernate开发讲义JPA注解.doc

预览

免费试读已结束,剩余 14 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

目录Hibernate简介Hibernate基本配置基本实体类映射高级实体类映射HQL语言实例设计课后作业目录Hibernate简介简介Hibernate基本配置基本实体类映射高级实体类映射HQL语言实例设计课后作业Hibernate简介Hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库.Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JavaEE架构中取代CMP(Container-ManagedPersistence),完成数据持久化的重任.Hibernate简介Hibernate的核心接口一共有5个,分别为:Session,SessionFactory,Transaction,Query和Configuration.这5个核心接口在任何开发中都会用到.通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制.下面对这五个核心接口分别加以介绍.Hibernate简介Session接口接口:Session接口负责执行被持久化对象接口的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句.).但需要注意的是Session对象是非线程安全的.同时,Hibernate的session不同于JSP应用中的HttpSession.这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session.Hibernate简介SessionFactory接口接口:SessionFactory接口负责初始接口化Hibernate.它充当数据存储源的代理,并负责创建Session对象.这里用到了工厂模式.需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory.Hibernate简介Configuration接口接口:Configuration接口负责配置并接口启动Hibernate,创建SessionFactory对象.在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置,读取配置,然后创建SessionFactory对象.Hibernate简介Transaction接口接口:Transaction接口负责事务相关的接口操作.它是可选的,开发人员也可以设计编写自己的底层事务处理代码.Hibernate简介Query和Criteria接口和接口:Query和Criteria接口负责执接口行各种数据库查询.它可以使用HQL语言或SQL语句两种表达方式.目录Hibernate简介Hibernate基本配置基本配置基本实体类映射高级实体类映射HQL语言实例设计课后作业Hibernate基本配置使用Java属性文件加编码方式配置使用XML文件配置(hibernate.cfg.xml)配置hibernate.cfg.xml目录Hibernate简介Hibernate基本配置基本实体类映射高级实体类映射HQL语言实例设计课后作业基本实体类映射XML映射文件映射注释映射注释JPA是EJB3规范中负责对象持久化的应用程序编程接口,它定义一系列的注释.这些注释大体可分为:类级别注释,方法级别注释,字段级别注释.给实体类添加适当的注释可以在程序运行时告诉Hibernate如何将一个实体类保存到数据库中以及如何将数据以对象的形式从数据库中读取出来.映射注释目前有两种注释方案可以确定对象与表格之间的对应关系:一种是注释实体类的属性字段(字段级别注释),成为字段访问方式(fieldaccessmode);另一种是注释实体类的属性访问方法(方法级别注释),称为属性访问方式(propertyaccessmode).映射注释注释字段映射注释注释getter方法基本映射@Entity映射实体类@Id映射生成主键@Table映射表格@Column映射表格列@Transient定义暂态属性@Entity与@Table@Entity(name="EntityName")必须,name为可选,对应数据库中一的个表@Table(name="",catalog="",schema=&q