文档详情

jpa使用规范说明书2.0.doc

发布:2018-02-13约1.04万字共20页下载文档
文本预览下载声明
JPA 使用规范说明书 2017年月26日 版本记录 序号 版本 更改时间 更改内容描述 作者 1.0 2017-10-26 新建 吴海林 2 2.0 2017-11-10 评审后 吴海林 1、 1.1 什么是JPA规范 JPA规范(java持久化API)JPA和Hibernate等框架一样,都是java持久化解决方案,负责把数据保存到数据库。不同的是,JPA只是一种标注,规范,而不是框架。JPA自己没有具体的实现。使用JPA后,程序不在依赖于某种ORM框架。具体实现有Eclipselink, OpenJPA等。 优秀的框架出现相比以上供应商,使得有了很大的提升。1.2 JPA原理实现 我们知道JPA 只是一个规范,下面的 JPA Provider 可以由不同的 ORM 框架提供。ORM 框架可以根据映射关系,操作PO对象,自动生成增查改删的 SQLJPA包括以下3方面的技术:?   1. ORM映射元数据,JPA支持XML和JDK 5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中;?   2. JPA的API,用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。?   3. 查询语言,这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。 优点也是有很多:继承Repository接口,在注解中书写JPQL语句即可访问数据库;支持方法名解析方式访问数据库;使用Predicate支持动态查询 JPA当问数据库主要工作 1.得到JDBC驱动程序 2.得到持久性提供者相关类库和配置文件 3.提供实体类 4.使用Persistence、EntityManagerFactory和Entity等接口。 2、PA使用 2.1 使用前的准备配置 1.1 原生配置方式-persistence Maven依赖: dependency groupIdorg.eclipse.persistence/groupId artifactIdjavax.persistence/artifactId version2.0.0/version /dependency dependency groupIdorg.eclipse.persistence/groupId artifactIdeclipselink/artifactId version2.0.0/version /dependency 配置文件(MATA-INF下的.xml) 怎么去掉persistence.xml的实体类配置? 使用了?persistence 配置文件,去掉“persistenceUnitName”属性,添加“packagesToScan”属性,persistence.xml配置文件中的persistence-unit名字照样保留,但是?persistence 配置文件中不需要对实体类进行配置,会自动识别。 2.1.2 SpringDataJPA+hibernate(使用最多) M:除相关包)dependency groupIdorg.springframework.data/groupId artifactIdspring-data-jpa/artifactId /dependency dependency groupIdorg.hibernate/groupId artifactIdhibernate-entitymanager/artifactId /dependency dependency groupIdorg.hibernate.javax.persistence/groupId artifactIdhibernate-jpa-2.0-api/artifactId /dependency 配置文件(定义EntityManagerFactory实体类管理 2.1.3 SpringBoot+JPA dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-data-jpa/artifactId /dependency SpringBoot通过@EnableAutoConfiguration?入
显示全部
相似文档