zoukankan      html  css  js  c++  java
  • JPA的理解

    JPA概念

           Java persistence API的简称,中文名是Java持久层API,是JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。(对象持久化:是将内存中的对象保存到可永久保存的存储设备中的一种技术)

    JPA出现的原因

           1.简化现有JavaEE和JavaSE应用的对象持久化的开发工作;

           2.Sun希望整合ORM技术,实现在持久化领域的统一应用;

    JPA提供的技术

           1.ORM映射元数据

            JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系框架据此将实体对象持久化到数据库表中;(元数据:是指用来描述数据的数据,就是描述代码间关系的数据,如:hibernate是用hbm文件。JDK5.0出来后,java语言中就有了四种类型(TYPE),即类(class)、枚举(enum)、接口(interface)和注解(@interface),它们是处在同一级别的。java就是通过注解来表示元数据的。)

            2.JPA的API

             用来操作实体对象,执行crud操作,框架在底层替我们完成所有的事情,开发者从繁琐的JDBC 和 SQL代码中解脱;

            3.查询语言

             通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合;

    Hibernate

             JPA是需要Provider(供应者)来说实现其功能的,Hibernate就是JPA Provider中很强的一个。从功能上了来说,JPA现在就是Hibernate功能的一个子集,Hibernate从3.2开始,就开始兼容JPA。Hibernate3.2获得了Sun TCK的 JPA(Java  Persistence API) 兼容认证。

            JPA和Hibernate之间的关系,可以简单的理解为JPA是标准接口,Hibernate是实现。

            Hibernate是如何实现与JPA 的这种关系的呢?

      Hibernate主要是通过三个组件来实现的,及hibernate-annotation、hibernate-entitymanager和hibernate-core。

      (1)hibernate-annotation是Hibernate支持annotation方式配置的基础,它包括了标准的JPA annotation以及  Hibernate自身特殊功能的annotation。

      (2)hibernate-core是Hibernate的核心实现,提供了Hibernate所有的核心功能。

      (3)hibernate-entitymanager实现了标准的JPA,可以把它看成hibernate-core和JPA之间的适配器,它并不直接提供ORM的功能,而是对hibernate-core进行封装,使得Hibernate符合JPA的规范。

      总的来说,JPA是规范,Hibernate是框架,JPA是持久化规范,而Hibernate实现了JPA。

      

  • 相关阅读:
    mui 关闭除指定页面之外的其他所有页面.
    javascript 工厂模式
    DOM事件对象与IE事件对象
    animation属相详解
    webpack概念
    小程序获取form_id 与 小程序获取openid
    小程序分享自定义样式
    node生成图片
    小程序弹出层点透问题
    pm2配置文件介绍
  • 原文地址:https://www.cnblogs.com/li2beyond/p/8045933.html
Copyright © 2011-2022 走看看