国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
OpenJPA的基礎(chǔ)

 在項(xiàng)目中我們公司用的持久化語(yǔ)言是JPA,周五為了給同事們?cè)敿?xì)的講解JPA的相關(guān)知識(shí),我寫(xiě)了一個(gè)大概提綱,和網(wǎng)友一起分享!


1、
  
JPA
簡(jiǎn)介—語(yǔ)言JPQL

JPA(Java Persistence API)作為Java EE 5.0平臺(tái)標(biāo)準(zhǔn)的ORM規(guī)范,將得到所有Java

EE服務(wù)器的支持。Sun這次吸取了之前EJB規(guī)范慘痛失敗的經(jīng)歷,在充分吸收現(xiàn)

ORM框架的基礎(chǔ)上,得到了一個(gè)易于使用、伸縮性強(qiáng)的 ORM規(guī)范。從目 前的

開(kāi)發(fā)社區(qū)的反應(yīng)上看,JPA受到了極大的支持和贊揚(yáng),JPA作為ORM領(lǐng)域標(biāo)準(zhǔn)化

整合者的目標(biāo)應(yīng)該不難實(shí)現(xiàn)。

JPAEJB 3.0軟件專(zhuān)家組開(kāi)發(fā),作為 JSR-220實(shí)現(xiàn)的一部分。但它不囿于EJB

3.0,你可以在 Web應(yīng)用、甚至桌面應(yīng)用中使用。JPA的宗旨是為POJO提供持久

化標(biāo)準(zhǔn)規(guī)范,由此可見(jiàn),經(jīng)過(guò)這幾年的實(shí)踐探索,能夠脫離容器獨(dú)立運(yùn)行,方便

開(kāi)發(fā)和測(cè)試的理念已經(jīng)深入人心了。

JPA包括以下 3方面的技術(shù): 

1ORM映射元數(shù)據(jù),JPA支持XMLJDK 5.0注解兩種元數(shù)據(jù)的形式,元數(shù)據(jù)描述對(duì)象和表之間的映射關(guān)系,框架據(jù)此將實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)表中; 

2)、JPA API,用來(lái)操作實(shí)體對(duì)象,執(zhí)行CRUD操作,框架在后臺(tái)替我們完成所有的事情,開(kāi)發(fā)者從繁瑣的JDBCSQL代碼中解脫出來(lái)。 

3)、查詢語(yǔ)言,這是持久化操作中很重要的一個(gè)方面,通過(guò)面向?qū)ο蠖敲嫦驍?shù)據(jù)庫(kù)的查詢語(yǔ)言查詢數(shù)據(jù),避免程序的SQL語(yǔ)句緊密耦合。

 

 重要的API

JavaEE 5.0中所定義的JPA接口個(gè)數(shù)并不多,它們位于javax.persistence

javax.persistence.spi兩個(gè)包中。 javax.persistence包中大部分API都是注解類(lèi),除此之

外還包括EntityManagerQuery等持久化操作接口。

EntityManager---實(shí)體對(duì)象由實(shí)體管理器進(jìn)行管理,JPA使用javax.persistence.EntityManager代表實(shí)體管理器。

 

EntityManager的一些主要的接口方法: 

1void persist(Object entity) -----store()

2void remove(Object entity)------remove()

3void flush() -----flush()

 

JPA使用javax.persistence.Query接口代表一個(gè)查詢實(shí)例,接口方法:

1Object getSingleResult():執(zhí)行SELECT查詢語(yǔ)句,并返回一個(gè)結(jié)果; 

2List getResultList() :執(zhí)行SELECT查詢語(yǔ)句,并返回多個(gè)結(jié)果;   

3Query setParameter(int position, Object value):通過(guò)參數(shù)位置號(hào)綁定查詢語(yǔ)句中的

參數(shù),如果查詢語(yǔ)句使用了命令參數(shù),則可以使用Query setParameter(String name,

Object value)方法綁定命名參數(shù);   

4Query setMaxResults(int maxResult):設(shè)置返回的最大結(jié)果數(shù); 

5int executeUpdate():如果查詢語(yǔ)句是新增、刪除或更改的語(yǔ)句,通過(guò)該方法執(zhí)行

更新操作;   

 

   以下是JPA中使用的主要組件:

(1) Persistence: javax.persistence.Persistence類(lèi)包含靜態(tài)方法用于獲得EntityManagerFactory對(duì)象。

(2) EntityManagerFactory: javax.persistence.EntityManagerFactory類(lèi)是創(chuàng)建EntityManager的工廠類(lèi)。

(3) EntityManager: javax.persistence.EntityManager是應(yīng)用中主要使用的接口,它主要用于管理持久對(duì)象,也用于創(chuàng)建Query 接口。

(4) Entity。Entity用于封裝持久對(duì)象。

(5) EntityTransaction: EntityTransaction 用于封裝事務(wù),javax.persistence.EntityTransactionEntityManager之間是一對(duì)一的關(guān)系。

(6) Query: javax.persistence.Query接口用于持久對(duì)象的查詢。它支持Java Persistence Query Language (JPQL)  Structured Query Language (SQL)。

(7) PersistenceException: JPA異常體系的根是PersistenceException,它繼承于RuntimeException。OpenJPA中拋出的異常都實(shí)現(xiàn)了org.apache.openjpa.util.ExceptionInfo接口,用于提供額外的信息。

 

2、  OpenJPAJPA的關(guān)系

OpenJPA中大量使用了genericannotation,因此需要使用1.5以上版本的JDK。

JPA的總體思想和現(xiàn)有 HibernateTopLink,JDOORM框架大體一致。目前Hibernate 3.2TopLink 10.1.3以及OpenJpa都提供了JPA的實(shí)現(xiàn)。

 

 

3、  OpenJPA在項(xiàng)目中的應(yīng)用

(1)、引入的jar包有:openjpa-1.2.1.jar、geronimo-jpa_3.0_spec-1.0.jar、geronimo-jta_1.1_spec-1.1.jar;

(2)、為POJO寫(xiě)映射文件*.orm.xml

(3)、在src下面的META-INF下面的persistence.xml中將POJO的映射文件添加進(jìn)去

       (4)void persist(Object entity) -----store()

void remove(Object entity)------remove()

            void flush() -----flush()

     getNamedQuery(String queryName)---createNamedQuery()

 getNativeQuery(String queryString)--- createNativeQuery()

 getDynamicQuery(String queryString)--- createQuery()

 getNamedUpdate(String queryName)---createNamedQuery()

 

4、  推薦資料

  Apache OpenJPA 2.0 User's Guide.pdf

  ejb-3_0-pfd-spec-persistence.pdf

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
JPA入門(mén)例子(采用JPA的hibernate實(shí)現(xiàn)版本)
JPA的實(shí)體狀態(tài)和API淺析
SpringDataJPA多數(shù)據(jù)源及JPA+atomikos實(shí)現(xiàn)分布式事務(wù)
hibernate+jpa
JPA EntityManager 詳解
JPA重整ORM山河
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服