亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        JPA在數(shù)據(jù)持久化層的應用與原理探析

        2019-06-17 01:25:15溫立輝
        科技資訊 2019年6期

        溫立輝

        摘? 要:針對Java EE編程中的JPA持久化問題,討論了JPA的適用場景,闡述JPA規(guī)范的應用原理;在論述中詳細分析了JPA持久化過程中的4種不同數(shù)據(jù)實體狀態(tài),以及不同實體狀態(tài)的轉(zhuǎn)化條件及相關(guān)的API操作接口;同時也分析了數(shù)據(jù)實體間的關(guān)聯(lián)關(guān)系,以及不同關(guān)聯(lián)關(guān)系在JPA持久化ORM技術(shù)中配置實現(xiàn),最后說明了JPQL語句的原生SQL語句的區(qū)別以及其在Java EE領(lǐng)域的重要作用。

        關(guān)鍵詞:JPA? JPQL? 持久化規(guī)范? ORM

        中圖分類號:TP311.52? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1672-3791(2019)02(c)-0005-02

        JPA即Java 持久化API(Java Persistence API),是Java EE5后提出的的一個持久化規(guī)范,此規(guī)范參照了EJB3的 Entity Bean(實體Bean)實現(xiàn)過程,其使用JPQL語句來對表實體進行CRUD的操作,在Java語言企業(yè)級編程存在著非常廣泛的應用。

        1? JPA概述

        JPA作為一個持久化規(guī)范,其專門負責定義與數(shù)據(jù)存儲層的交互標準,定義交互過程,其作為規(guī)范,只定義了上層接口,并不負責具體的實現(xiàn)過程,實際上在開發(fā)市場中,JPA有眾多的實現(xiàn)方式,如Hibernate、TopLink、OpenJPA等持久化框架。

        JPA作為一套數(shù)據(jù)持久化的規(guī)范,其思想對ORM編程繼承與細化,在Java編程中由于面向?qū)ο缶幊趟枷肱c關(guān)系型數(shù)據(jù)庫的思維差別,致使應用程序與關(guān)系數(shù)據(jù)庫存在一定的交互障礙,ORM作為面向?qū)ο蟮膽贸绦蚺c關(guān)系型數(shù)據(jù)庫間的交互中介橋梁,解決了開發(fā)中編碼問題,使用開發(fā)人員能用使用面向?qū)ο蟮乃季S去處理和操作關(guān)系庫。

        2? JPA狀態(tài)表述

        在JPA規(guī)范中,實體狀態(tài)的變化都是通過EntityManager接口下的相關(guān)函數(shù)的被調(diào)用而觸發(fā)的,一個實體從對象變成數(shù)據(jù)庫表中的一條記錄,一共可經(jīng)歷4個狀態(tài),分別是:新建狀態(tài)(New)、游離狀態(tài)(Detached)、受控狀態(tài)(Managed)、刪除狀態(tài)(Removed)。

        新建狀態(tài):當一個實體對象剛剛通過new創(chuàng)建出來,還未和其他持久化機制發(fā)生任何關(guān)聯(lián),這時這個實體的實例處于新建狀態(tài)。

        游離狀態(tài):當實體對象已經(jīng)從持久化機制中得到唯一主鍵,但實例未與持久化機制發(fā)生關(guān)聯(lián)關(guān)系,則此時對象處于游離狀態(tài),當通過EntityManager接口調(diào)用clear()方法,實例對象進入游離狀態(tài)。

        受控狀態(tài):實體對象已經(jīng)從持久化機制中得到唯一主鍵,且已經(jīng)與持久化機制發(fā)生關(guān)聯(lián)關(guān)系,則對象處于受控狀態(tài),當通過EntityManager接口調(diào)用persist()方法,實例對象進入游離狀態(tài)。

        刪除狀態(tài):如果一個實體對象滿足受控的基本要求,即處于受控狀態(tài),此時將對象刪除,則對象進入刪除狀態(tài),當通過EntityManager接口調(diào)用remove()方法,實例對象到達刪除狀態(tài)。

        3? JPA關(guān)系實體表述

        JPA作為持久化的操作規(guī)范,其對應用程序中實體間的關(guān)系作了明確的定義,共分三大類型,分別是:一對一(one to one)、一對多(one to many)、多對多(many to many),接下來以Hibernate框架的JPA實現(xiàn)為載體來進行各種實體關(guān)系的分析。

        一對一:就是兩個實體間,一方實體的任一實例只能對應于另一方實體唯一的實例。在日常生活中,例如個人與身份證號碼的關(guān)系,每個人都有唯一的一個身份證號碼,同時每個身份證號碼都只能屬于某一個人。

        具體實現(xiàn)需要在每個實體中引入對方實體作為本類的一個全局屬性。如需要在用戶(Person)類中引入對方:private Idcard idcard;同時需要在身份證(Idcard)類引對方:private Person person。還要在XML文件做相應的設(shè)置,在Person實體的映射文件中加入:;在Idcard實體的映射文件中加入:。

        一對多:就是兩個實體之間,一方實體的一個實例可以在另一實體中找到若干個與之對應的實例,但另一方實體的一個實例卻只能對應對方實體的一個實例。例如,在一個家庭中一對父母親可以生育多個子女,但每個子女卻都只能有一對父母親。

        在具體實現(xiàn)中,需要在代表一方的父母實體 (Father) 類中引入一個Set集合屬性:private Set sons = new HashSet(0),作為與多方的關(guān)聯(lián)屬性;同時需要在代表多方的子女實體 (Son) 類中引入一個Father類型屬性:private Father father。最后需要在Father實體映射文件中配置:;并在Son實體映射文件中配置:。

        免费看又色又爽又黄的国产软件| 免费啪啪av人妻一区二区 | 欧美日韩不卡中文字幕在线| 久久久久久人妻一区精品| 国产色视频在线观看了| 中文字幕av中文字无码亚| 麻豆精品传媒一二三区| 亚洲国产精品国自产电影| 亚洲视频一区二区三区免费 | 天天摸日日摸狠狠添| 国产精品一区二区三区精品| 国产av精品一区二区三区视频| 内射白浆一区二区在线观看| a级毛片无码免费真人| 亚洲国产A∨无码影院| 亚洲精品女优中文字幕| 黄片视频免费在线观看国产| 狠狠做深爱婷婷久久综合一区| 欧美在线成人午夜网站| 色婷婷av一区二区三区不卡| 蜜桃视频免费进入观看| 蜜桃麻豆www久久囤产精品| 国产福利片无码区在线观看 | 国产 麻豆 日韩 欧美 久久| 四虎永久免费一级毛片| 国产激情视频免费观看| 美女丝袜美腿玉足视频| 老司机亚洲精品影院| 试看男女炮交视频一区二区三区| 福利视频自拍偷拍视频| 日本道色综合久久影院| 人妻丰满熟妇av无码片| 香蕉视频免费在线| 日本女优五十路中文字幕| 国产无遮挡又黄又爽高潮| 国产精品国产三级国av| 亚洲av色香蕉一区二区蜜桃| 99久久婷婷国产亚洲终合精品| 亚洲综合久久精品无码色欲| 中文字幕一区二区三区在线不卡| 在线观看一区二区三区国产|