zoukankan      html  css  js  c++  java
  • JPA(一):简介

    JPA是什么

    Java Persistence API:用于对象持久化的API

    Java EE 5.0平台标准的ORM规范,使得应用程序以统一的方式访问持久层。

    JPA和Hibernate的关系

      JPA是Hibernate的一个抽象(就像JDBC和JDBC驱动的关系):

    1)JPA是规范:JPA本质上就是一种ORM规范,不是ORM框架------因为JPA并未提供ORM实现,它只是制定了一些规范,提供了一些编程的API接口,但具体实现则由ORM厂商提供实现。

    2)Hibernate是实现:Hibernate除了作为ORM框架之外,它也是一种JPA实现。

      从功能上来说,JPA是Hibernate功能的一个子集。

     JPA的供应商

      JPA的目的之一是制定一个可以由很多供应商实现的API,目前Hibernate3.2+、TopLink10.1+以及OpenJPA都提供了JPA的实现。

      Hibernate

    1)JAP的始作俑者就是Hibernate的作者;

    2)Hibernate从3.2开始兼容JAP。

      OpenJPA

    OpenJPA是Apache组织提供的开源项目

      TopLink

    TopLink以前收费,如今早已开源。

    JPA的优势

    标准化

      提供相同的API,保证了基于JPA开发的企业应用程序能够经过少量的修改就可以在不同的JPA框架下运行。

    简单易容,集成方便

      JPA的主要目标之一就是提供更加简单的编程模型,在JPA框架下创建实体和创建Java类一样简单,只需要使用javax.persistence.Entity进行注解;JPA的框架和接口都非常简单。

    可媲美JDBC的查询能力

      JPA的查询语言是面向对象的,JPA定义了独特的JPQL等通常只有SQL才能提供的高级查询特征,甚至还能够支持子查询。

    支持面向对象的高级特性

      JPA中能够支持面向对象的高级特征,如类之间的集成、多态和类之间的复杂关系,最大限度的使用面向对象的模型。

    JPA包括3方面的技术

    ORM映射元数据

      JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中。

    JPA的API

      用来操作实体对象,执行CRUD操作,框架在后台完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。

    查询语句(JPQL)

      这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序和具体的SQL紧密耦合。

  • 相关阅读:
    【LeetCode】链表 linked list(共34题)
    Construct Binary Tree from Preorder and Inorder Traversal<leetcode>
    Triangle <leetcode>
    Jump Game <leetcode>
    C++学习笔记 <const限定词>
    Search for a Range <leetcode>
    Subsets <leetcode>
    各种排序算法总结
    Unique Paths II <leetcode>
    C++学习笔记 <hash_map> <散列映射>
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/6838982.html
Copyright © 2011-2022 走看看