关于JPA的理解
JPA全称 Java Persistence API。JPA通过JDK5.0注解或者XML描述对象和关系表的映射关系,
并将运行期的实体对象持久化到数据库中。
持久化:即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。
持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、xml数据
文件中等等。持久化是将程序数据在瞬时状态和持久状态间转换的机制。JDBC就是一种持久化
机制,文件IO也是一种持久化机制。 规范:所谓的规范意指明文规定或者约定俗称的标准。如:道德规范、技术规范、
公司管理规范等。
那么"持久化规范"就是Sun针对持久化这一层操作指定的规范,如果没有指定JPA规范,
那么新起的框架就随意按照自己的标准来了,那我们开发人员就没办法把我们的精力
全部集中在我们的业务层上,而是在想如何进行兼容,这种情况有点像Android开发,Android
本身有官方的SDK,但是由于SDK过于开源了,结果导致很多厂商基于SDK二次开发,但是兼容性
就不是很好。 说到JPA,这里就不得不提一下Hibernate:
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,
它将POJO与数据表建立映射关系,是一个全自动的ORM框架。Hibernate可以自动生成SQL
语句,自动执行,使得java程序员可以随心所欲的使用对象编程思维来操作数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在java的客户端程序使用,也可以在
Servlet/JSP的Web应用中使用。 关于POJO相关理解:
POJO PO VO DTO
POJO: Plain Ordinary Java Object 普通的java对象,持久化以后就是PO。
JavaBean:符合属性私有 get/set封装 无参构造 的一个普通类。
JavaBean 约等于 POJO
PO=POJO+xml配置 (数据访问层)
DTO: Data Transfer Object 数据传输对象(UI的下一层)
VO: View Object (UI层)
JPA和Hibernate的关系
JPA是一个规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),
OpenJPA等可供选择,所以使用JPA的一个好处是,可以更换实现而不必改动太多代码。
关于JPA的理解的更多相关文章
- JPA原理理解
		从前面一篇<JPA使用入门>了解了JPA的简单使用.要想继续深入的使用JPA,可能了解一点原理对于学习JPA会比较有益处. 这里从JPA的功能来简单阐述JPA的原理. 从<初步了解J ... 
- SpringData及SpringData JPA的理解和简单应用
		SpringData是一个用于简化数据库访问,并支持云服务的开源框架.其主要目标是使得 数据库的访问变得方便快捷,并支持map-reduce框架和云计算数据服务.此外,它还支持 基于关系型数据库的数据 ... 
- spring jpa ManyToMany 理解和使用
		1.java和jpa 中所有的关系都是单向的.这个关系数据库不同,关系数据库,通过外键定义并查询,使得反向查询总是存在的. 2.JPA还定义了一个OneToMany关系,它与ManyToMany关系类 ... 
- JPA、Hibernate、Spring data jpa之间的关系,终于明白了
		什么么是JPA? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支 ... 
- (转)JPA & Restful
		参考博客: JPA: https://www.jianshu.com/p/b6932740f3c0 https://shimo.im/docs/zOer2qMVEggbF33d/ Restful: h ... 
- Spring Data JPA、MyBatis还有Hibernate有什么区别
		原文:https://www.imooc.com/article/19754?block_id=tuijian_wz Spring Data JPA.MyBatis还有Hibernate有什么区别 2 ... 
- Spring Boot-JPA、Hibernate、Spring data jpa之间的关系
		什么么是JPA? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支 ... 
- JPA、Hibernate、Spring data jpa之间的关系,以及和springboot的整合
		什么么是JPA? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支 ... 
- JPA,Hibernate,Spring Data JPA之间的关系
		什么么是JPA? 全称Java Persistence API(JAVA对象持久化API),可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1 ... 
随机推荐
- 记录一下在SpringBoot中实现简单的登录认证
			代码参考博客: https://blog.csdn.net/weixin_37891479/article/details/79527641 在做学校的课设的时候,发现了安全的问题,就不怀好意的用户有 ... 
- json数据有换行符时提交不成功的坑
			这是在有多行文本框表单提交时遇到的问题.. 整理所有的表达数据,合并到一个json中然后jsonp方式提交给后端时,发现只要有换行符,总是提交失败. 目前的解决办法就是在合并数据的时候把换行\n替换为 ... 
- mouseover等闪烁问题
			在使用mouseover等鼠标事件时如移动上去灰色的遮罩层高度从0到100% 在操作中发现鼠标一直在图里面但遮罩会一直变化,我感觉应该是遮罩层出现后导致鼠标离开了底层图片所以会一直变化.想起之前用的 ... 
- PHP采集利器 Snoopy 试用心得
			Snoopy是什么? Snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务. Snoopy的一些特点: * 方便抓取网页的内容 * 方便抓取网页的文本内容 (去 ... 
- spring boot图片上传至远程服务器并返回新的图片路径
			界面上传图片时考虑到可能会有用户的图片名称一致,使用UUID来对图片名称进行重新生成. //UUIDUtils public class UUIDUtils { public static Strin ... 
- 修改完linux bashrc文件之后,如何不重启系统使其生效
			修改完后,输入如下命令即可 ##@##:~/ source ~/.bashrc 之后bashrc文件就可以使用! 注: 使用ssh登陆shell的时候,系统不会自动调用.bashrc文件, 只是 ... 
- NBUT 1118  Marisa's Affair (排序统计,水)
			题意: 每行给出一个人名和一个int值,人名可重复出现.要求对同一个人名统计int值,最大的先输出,若相同,则按照人名出现次数,若再相同,则按照人名字典序. 思路: 输入完全部进行排序,写个比较函数传 ... 
- html页面编码问题
			今天在项目中碰到需要把已经编码的html页面通过mvc controller返回到前端页面,已编码的html页面包含类似下面的内容: <div style="line-height: ... 
- 51nod 1276 1276 岛屿的数量 (很好玩的题目
			题意: 有N个岛连在一起形成了一个大的岛屿,如果海平面上升超过某些岛的高度时,则这个岛会被淹没.原本的大岛屿则会分为多个小岛屿,如果海平面一直上升,则所有岛都会被淹没在水下. 给出N个岛的高度.然后有 ... 
- maven项目在myeclipse中不出现Maven Dependencies 和maven标识的解决方法
			这种情况通常出现在 我们新加载了一个 maven的项目,但是myeclipse没识别到. 或者说 我们把该项目修改成了maven项目--------也就是说该项目 有了pom.xml 但是还没有mav ... 
