JPA和ORM介紹以及關係

##ORM介紹
ORM的全稱是:Object Relation Mapping,意思是:對象關係映射,用於在關係型數據庫和業務實體對象之間做一個映射。sql

從效果上說,它實際上是建立了一個可在編程語言裏使用的「虛擬對象數據庫」。說白了就是把關係型數據庫封裝成業務實體對象,這樣,咱們在具體的操做業務對象的時候,就不須要再去和複雜的SQL語句打交道,只需簡單的操做對象的屬性和方法。數據庫

ORM的出現是因爲面向對象的大潮,創做者但願對數據庫的操做也使用面向對象,從而避免對sql的繁瑣操做。apache

ORM的優勢:
        ORM最大的優點,隱藏了數據訪問細節,「封閉」的通用數據庫交互,ORM的核心。他使得咱們的通用數據庫交互變得簡單易行,而且徹底不用考慮該死的SQL語句。快速開發,由此而來。編程

ORM的缺點:ORM有兩大顯著缺點
    1,性能較低。無可避免的,自動化意味着映射和關聯管理,代價是犧牲性能(早期,這是全部不喜歡ORM人的共同點)。如今的各類ORM框架都在嘗試使用各類方法來減輕這塊(LazyLoad,Cache),效果仍是很顯著的。
    2,對多表查詢力不從心。    app

##JPA介紹
JPA是Java Persistence API的簡稱,中文名Java持久層API,是JDK 5.0註解或XML描述對象-關係表的映射關係,並將運行期的實體對象持久化到數據庫中。框架

JPA的實現思想便是ORM。編程語言

JPA並非一種框架,而是一類框架的總稱,基於ORM思想實現的框架都稱爲JPA框架。性能

目前經常使用的JPA框架有:對象

Hibernate(JBoos開源)
Open JPA(apache開源)
Spring Data JPA(Spring框架中的子模塊)
EclipseLink(由Oracle提供,後捐獻給了Eclipse社區)
Toplink
注:JPA框架底層都是ORM思想,其框架具備ORM所有的優缺點。
 ip

相關文章
相關標籤/搜索