什么是JPA
JPA(Java Persistence API)是Sun官方提出的Java持久化贵方.他为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据.它的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate丶TopLink丶JDO等ORM框架各自为营的局面.
值得注意的是,JPA是在充分吸收了现有的Hibernate丶TopLink丶JDO等ORM框架得基础上发展而来的,具有易于使用丶伸缩性强等优点.从目前的开发社区的反应上看,JPA受到了极大的支持和赞扬,其中就包括Spring与EJB3.0的开发团队.
JPA概述图:
JPA和Hibernate的关系
Hibernate 概述
JPA Java Persistence API,是EJB3规范中负责对象持久化的应用程序编程接口(ORM接口),它定义一系列的注释。这些注释大体可分为:类级别注释、方法级别注释、字段级别注释。给实体类添加适当的注释可以在程序运行时告诉Hibernate如何将一个实体类保存到数据库中以及如何将数据以对象的形式从数据库中读取出来。
目前有两种注释方案可以确定对象与表格之间的对应关系:一种是注释实体类的属性字段(字段级别注释),成为字段访问方式(field access mode);另一种是注释实体类的属性访问方法(方法级别注释),称为属性访问方式(property access mode)。
JPA与Hibernate 的区别
JPA和Hibernate之间的关系,可以简单的理解为JPA是标准接口,Hibernate是实现。
那么Hibernate是如何实现与JPA的这种关系的呢。Hibernate主要是通过三个组件来实现的,及hibernate-annotation、hibernate-entitymanager和hibernate-core。
- hibernate-annotation:是Hibernate支持annotation方式配置的基础,它包括了标准的JPA annotation以及Hibernate自身特殊功能的annotation.
- hibernate-core:是Hibernate的核心实现,提供了Hibernate所有的核心功能.
- hibernate-entitymanager:实现了标准的JPA,可以把它看成hibernate-core和JPA之间的适配器,它并不直接提供ORM的功能,而是对hibernate-core进行封装,使得Hibernate符合JPA的规范.
JPA基本使用步骤
Controller层的默认规则,GET方法请求数据。Post方法发送数据,DETELE方法删除,PUT方法修改。
GET方法,常用/api/{userId}等,其他方法常用对象。
@Entity,标明类是实体类
@Table(name = “1”),标明实体类引用表1
@PathVariable(“a”) controller层引用http请求中的参数a
@RequestParm(“”a“”) controller使用http请求中?号后的参数
@Repository,用于Dao层
@RestController,用于controller,标明是需要http访问请求
@Autowired,注册类
@Service,服务层所使用,标明是服务类
@RequestMapping,http访问路径
@Column(name = “id”) 标明实体类中字段对应数据库中的哪个字段
@Bean在config中注册,可使用Autowired进行spring boot方式注册。