博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(二) JPA基础
阅读量:7259 次
发布时间:2019-06-29

本文共 1282 字,大约阅读时间需要 4 分钟。

一、什么是JAP

  • JPA(Java Persistence API)是SUN官方推出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,TopLink,JDO等ORM框架各自为营的局面。值得注意的是,JPA是在充分吸收了现有Hibernate,TopLink,JDO 等ORM框架的基础上发展而来的,具有易于使用,伸缩性强等优点。从开发社区的反映上看,JPA手动极大的支持和赞扬,其中就包括了Spring与EJB3.0的开发团队,着眼未来几年的技术走向,JPA作为ORM领域的标准化者的目标应该不难实现。

  • JPA不是一种新的ORM框架,他的出现只是用于规范现有的ORM技术,他不能取代现有的hibernate,TopLink等ORM框架。相反,在采用JPA开发时,我们仍将用到这些ORM框架,只是此时出来的应用不再依赖与某个持久化供应商。应用可以在不修改代码的情况下在任何JPA环境下运行,真正做到低耦合,可扩展的程序设计。  简单说,JPA干的就是Hibernate干的活,他们的作用是一样的。但是,JPA只是一套规范,不是一套产品,Hibernate已经是一套产品了。 JPA主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,Toplink,JDO等ORM框架各自为营的局面。之前学的Hibernate,实际上我们面对的是Hibernate的API进行开发,这有什么不好哪,是我们跟Hibernate这个产品紧密的耦合在了一起,如果离开了Hibernate我们是无法在别的ORM框架中使用我们的应用。使用JPA后,你的应用就可以运行在实现了JPA规范的持久化产品中(如Hibernate,TopLink,JDO)

二、JAP能做什么?

  • ORM映射元数据

  JPA支持XML和JDK5.0注释两种元数据形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。

  • Java持久化API

  用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者可以从繁琐的JDBC和SQL代码中解脱出来。

  • 查询语言(JPQL)

  这是持久化操作中很重要的一个方面,通过面向对象而非面向的查询语言查询数据,避免程序的SQL语句紧密耦合。

 

三、 ORM和JPA

  • ORM是一种设计思想,这个思想用于解决面向对象的对象模型和关系型数据库的数据结构之间的相互转换,Hibernate、myBatis、EJB3.0、Apache OJB等框架都是ORM思想的实现者,由于框架种类过多,当开发者需要将应用从一个框架转移到另一个框架时,就需要修改大量的代码,这时JPA就应运而生了,JPA是一种标准,它的出现是为了简化和整合ORM,结束了各大框架各自为营的局面,因为各大框架实现了JPA这个标准。

 

转载于:https://www.cnblogs.com/shyroke/p/6821211.html

你可能感兴趣的文章
React16.2的fiber架构
查看>>
阿里云容器服务新增支持Kubernetes编排系统,性能重大提升
查看>>
[Spring boot] Spring boot + JPA 基本架构,完成CRUD
查看>>
【全栈项目上线(vue+node+mongodb)】06.nodejs服务上线(生产环境前后分离的vue项目中怎么解决跨域问题)...
查看>>
【288天】每日项目总结系列026(2017.11.20)
查看>>
git代码回滚的几种方式
查看>>
vue.js组件学习(上)
查看>>
学习开发自己的composer包,并使用GitHub实时更新到Packagist
查看>>
vue学习笔记(三)
查看>>
Mac 勿扰模式周期性开关闭功能实现脚本
查看>>
sublime中利用正则批量修改数据
查看>>
GitBook关联GitHub
查看>>
系统单据号生成规则推荐
查看>>
[译] NSCollectionView 入门教程
查看>>
【vuejs路由】vuejs 路由基础入门实战操作详细指南
查看>>
express 源码阅读(全)
查看>>
获取height固定折叠元素真实高度方法
查看>>
文件寄生——寄生虫自体繁衍的道路
查看>>
【翻译】基于 Create React App路由4.0的异步组件加载(Code Splitting)
查看>>
Redis 服务器管理相关命令
查看>>