关于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   DTOPOJO: Plain  Ordinary  Java  Object  普通的java对象,持久化以后就是PO。JavaBean:符合属性私有  get/set封装  无参构造  的一个普通类。JavaBean 约等于  POJOPO=POJO+xml配置  (数据访问层)DTO: Data  Transfer  Object  数据传输对象(UI的下一层)VO: View Object (UI层)

JPA和Hibernate的关系JPA是一个规范,而Hibernate是它的一种实现。除了Hibernate,还有EclipseLink(曾经的toplink),OpenJPA等可供选择,所以使用JPA的一个好处是,可以更换实现而不必改动太多代码。

原文地址:https://www.cnblogs.com/jinyanbin/p/9623241.html

时间: 2024-11-25 21:31:57

关于JPA的理解的相关文章

谈谈我对mybatis和jpa的理解

其实要承认,一个东西用久了都会有习惯心理.mybatis和jpa,两个持久层框架.从底层到用法都不同.但是实现的功能是一样的.所以说一直以来颇有争议.常年混迹于各大qq技术交流群.见过jpa的死忠粉也见过mybatis的铁杆.作为一个不到两年工作经验的小菜鸟来说,你让我分析源码,讲什么底层实现我是讲不出来的.只能作为一个使用者,来谈谈自己对这两个框架的理解. 谈谈我对mybatis和jpa的理解首先,都知道jpa的前身是著名的ssh中的h-->Hibernate.我到现在还记得学习Hiberna

JPA的理解

JPA概念 Java persistence API的简称,中文名是Java持久层API,是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.(对象持久化:是将内存中的对象保存到可永久保存的存储设备中的一种技术) JPA出现的原因 1.简化现有JavaEE和JavaSE应用的对象持久化的开发工作: 2.Sun希望整合ORM技术,实现在持久化领域的统一应用: JPA提供的技术 1.ORM映射元数据 JPA支持XML和JDK5.0注解两种元数据的形式,元数据描

JPA个人理解

JPA是什么? JPA全称JavaPersistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.JPA是JSR-220(EJB3.0)规范的一部分,在JSR-220中规定实体对象(EntityBean)由JPA进行支持. 所以JPA不局限于EJB3.0,而是作为POJO持久化的标准规范,可以脱离容器独立运行,开发和测试更加方便. JPA在应用中的位置如下图所示: 为什么要使用JPA? 在说为什么要使用JPA之前,我们有必要了

spring jpa ManyToMany 理解和使用

1.java和jpa 中所有的关系都是单向的.这个关系数据库不同,关系数据库,通过外键定义并查询,使得反向查询总是存在的. 2.JPA还定义了一个OneToMany关系,它与ManyToMany关系类似,但反向关系(如果已定义)是ManyToOne关系. OneToMany与JPA中ManyToMany关系的主要区别在于,ManyToMany总是使用中间关系连接表来存储关系, OneToMany可以使用连接表或者目标对象的表引用中的外键源对象表的主键. @OneToMany(cascade =

JPA Hibernate jpa spring data jpa

什么么是JPA? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中: 如:@Entity.@Table.@Column.@Transient等注解. 2)JPA 的API:用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和

JPA、Hibernate、Spring data jpa之间的关系,终于明白了

什么是jpa? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中: 如:@Entity.@Table.@Column.@Transient等注解. 2)JPA 的API:用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和S

JPA、Hibernate、Spring data jpa之间的关系,以及和springboot的整合

什么么是JPA? 全称Java Persistence API,可以通过注解或者XML描述[对象-关系表]之间的映射关系,并将实体对象持久化到数据库中. 为我们提供了: 1)ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中: 如:@Entity.@Table.@Column.@Transient等注解. 2)JPA 的API:用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发者从繁琐的JDBC和

Spring Boot2 系列教程(二十三)理解 Spring Data Jpa

有很多读者留言希望松哥能好好聊聊 Spring Data Jpa! 其实这个话题松哥以前零零散散的介绍过,在我的书里也有介绍过,但是在公众号中还没和大伙聊过,因此本文就和大家来仔细聊聊 Spring Data 和 Jpa! 本文大纲: 1. 故事的主角 1.1 Jpa 1.1.1 JPA 是什么 Java Persistence API:用于对象持久化的 API Java EE 5.0 平台标准的 ORM 规范,使得应用程序以统一的方式访问持久层 1.1.2 JPA 和 Hibernate 的关

十八、sun JPA理解及使用

1.JPA理解及实现:    JPA(Java Persistence API)作为Java EE 5.0平台标准的ORM规范,将得到所有Java EE服务器的支持,是SUN在充分吸收现有ORM框架的基础上,得到了一个易于使用.伸缩性强的ORM规范.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.    JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分.可以在Web应用.甚至桌面应用中使用.JPA的宗旨是为POJO提供持久