问题解决之-Spring Data开发手册|Java持久化API(JPA)需要了解到什么程度呢?_api问题怎么解决-程序员宅基地

技术标签: 问题解决方案  

JPA,Java Persistence API是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术

ORM:通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。本质就是将数据从一种形式转换到另外一种形式。

同时也结束了Hibernate、TopLink等ORM框架各自为营的局面。JPA充分吸收了Hibernate、TopLink等ORM框架的基础上发展起来的,使用方便,伸缩性强

注意: JPA不是一种新的ORM框架,它的出现只是用于规范现有的ORM技术,它不能取代现有的Hibernate等ORM框架,相反,采用JPA开发时,我们仍将使用这些ORM框架,只是此时开发出来的应用不在依赖于某个持久化提供商。应用可以在不修改代码的情况下载任何JPA环境下运行,真正做到低耦合,可扩展的程序设计。类似于JDBC,在JDBC出现以前,我们的程序针对特性的数据库API进行编程,但是现在我们只需要针对JDBC API编程,这样能够在不改变代码的情况下就能换成其他的数据库。

JPA是一套规范,不是一套产品。Hibernate是一套产品,如果这些产品实现了JPA规范,那么我们可以叫它们为JPA的实现产品。使用JPA,就可以把我们的应用从Hibernate中解脱出来,那么现在问题来了::如何使用JPA来开发呢?

准备好了吗,进入正题,起飞!

首先,先带大家看一下本篇文章的大致介绍。

没目录怎么知道这篇到底有多少干货呢?

以前的开发模式

JPA是什么

JPA解决了什么问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43214644/article/details/115771680

智能推荐

anaconda下安装OpenEXR(python3.6及以上windows、linux以及MAC系统下)_openexr 1.3.2 cp36 cp36m win_amd64.whl-程序员宅基地

文章浏览阅读3.8k次。一些做图像处理的人很可能会遇到.exr文件,python实际上有一个OpenEXR的包可以做这类图片的读取工作,本篇博客将介绍如何在windows和linux系统下使用anaconda中的虚拟环境来实现OpenEXR包的安装。 首先来看windows系统,很多人可能都已经试过了使用conda install openexr结果导入包是报错说找不到这个包,使用pip install openexr结果安装过程中直接报错了。下面来谈解决办法: 首先,我们需要去自己手动下载openexr这个包..._openexr 1.3.2 cp36 cp36m win_amd64.whl

(二十五)套利定价理论(APT)_apt模型-程序员宅基地

文章浏览阅读5.6k次,点赞3次,收藏25次。套利定价理论的介绍——单因素模型和多因素模型,并通过一个例子来分析套利机会,构建套利组合。本节引入了scipy.optimize的linprog函数来求解线性规划问题,适用于线性方程的最优化求解。_apt模型

Linux知识点全面总结_麒麟系统 目标主机showmount -e信息泄露(cve-1999-0554)-程序员宅基地

文章浏览阅读4.2k次,点赞10次,收藏70次。Linux知识点全面总结,适合Linux初学者和期末复习的小伙伴,里面还包含了NFS配置和Samba配置_麒麟系统 目标主机showmount -e信息泄露(cve-1999-0554)

猫狗案例分析,实例及测试_定义猫类cat。属性:毛的颜色color,品种breed。行为:吃饭eat(),抓老鼠catchmo-程序员宅基地

文章浏览阅读1k次。猫狗案例分析,实例及测试class Test05_Animal { public static void main(String[] args) { Cat c1 = new Cat("小蓝", 4); System.out.println(c1.getColor() + "..." + c1.getLeg()); c1.eat(); ..._定义猫类cat。属性:毛的颜色color,品种breed。行为:吃饭eat(),抓老鼠catchmouse()

无法分配超出32(XXX)的MINEXTENTS报错的解决方法-程序员宅基地

文章浏览阅读541次。今天在创建新表的时候,遇到该报错:ORA-01659 无法分配超出32(XXX)的MINEXTENTS 解决方法:修改表空间大小。  命令如下: ALTER DATABASE DATAFILE ''D:\e_jxw.dbf' AUTOEXTEND ON NEXT 200M MAXSIZE UNLIMITED 或 ALTER TABLES..._无法分配超出22的minetents

使用docker部署nginx搭建简单的idea-2019 jrebel插件激活服务器_docker 激活服务器 intellij-程序员宅基地

文章浏览阅读759次。之前用的jrebel激活方式一直都是用的 *lanyus* 大神的 [jrebel激活](http://idea.lanyus.com)插件,但是需要一直开着命令行窗口,或者将jrebel调整成离线模式,心血来潮也想自己配置一个反向代理,代理到大神的网站上去_docker 激活服务器 intellij

随便推点

炸裂消息,全球首创全员持股短视频平台诞生-程序员宅基地

文章浏览阅读485次,点赞9次,收藏7次。享视致力于打造一个共建共管,共创共有,共享共益的创新短视频平台,让全球普通用户都能零门槛,零投资进入互联网创业,和官方专业团队一起,共同参与和见证一家伟大的互联网公司从创业到成功的全过程,最终和全球用户共享平台商业价值和财富,助力共同富裕,引导商业向善,重新定义商业领域的成功。具体的业务内容包括:内容创作,娱乐直播,电商购物,自营商城,本地生活,社交娱乐,在线教育,广告联盟,金融理财,社区团购,人工智能,游戏联运。目前享点和股份的映射关系:1享点=1股,即持有的享点越多,拥有公司的股份期权数量越多。

【wikioi】1904 最小路径覆盖问题(最大流+坑人的题+最小路径覆盖)-程序员宅基地

文章浏览阅读89次。http://wikioi.com/problem/1904/这题没看数据的话是一个大坑(我已报告官方修复了),答案只要求数量,不用打印路径。。。orz最小路径覆盖=n-最大匹配,这个我在说二分图匹配时讲过的。但是如果用最大流打印路径怎么办呢?在增广时记录增广路的点之间的链接,然后一个个打印即可。#include <cstdio>#include &l..._最小路径覆盖问题 回溯

浅谈获取url传递的参数值的几种方式_<%=传获取的参数-程序员宅基地

文章浏览阅读1.3w次。以下内容是在开发中本人经常使用的方式,现总结如下:jsp页面中: //el表达式 获取请求参数var id = ${param.id}; var id = &lt;%=request.getParameter("id")%&gt; html页面中: //使用js 获取参数值function getQueryVariable(va..._<%=传获取的参数</div>

Spring Cloud +Gateway + Nginx +Docker 实现高可用网关集群_docker nginx gateway-程序员宅基地

文章浏览阅读712次,点赞2次,收藏13次。Spring Cloud + Eureka + Gateway + Nginx + OpenFeign + Docker 手把手教你 搭建 高可用网管集群微服务,内附代码!!!_docker nginx gateway

linux解锁文件夹-程序员宅基地

文章浏览阅读1.3k次。2、切换到“安全”选项卡,点击“编辑”,选择“添加”,输入au再点检查名称,系统会自动改名为AuthenticatedUsers,点确定。3点击AuthenticatedUsers——完全控制——确定。1、右击这个带锁的文件或者文件夹,选择属性。_linux解锁文件夹

python性能优化方案_6个Python性能优化技巧-程序员宅基地

文章浏览阅读1k次。ython是一门非常酷的语言,因为很少的Python代码可以在短时间内做很多事情,并且,Python很容易就能支持多任务和多重处理。Python的批评者声称Python性能低效、执行缓慢,但实际上并非如此:尝试以下6个小技巧,可以加快Python应用程序。1、关键代码可以依赖于扩展包Python使许多编程任务变得简单,但是对于很关键的任务并不总是提供最好的性能。使用C、C++或者机器语言扩展包来执..._python 性能调优

推荐文章

热门文章

相关标签