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