自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

持久化規(guī)范JPA(JavapersistenceAPI)

開(kāi)發(fā) 后端
持久化規(guī)范JPA(JavapersistenceAPI)。

EJB3最重要的特性是POJO編程模型,對(duì)開(kāi)發(fā)人員的影響將是非常大的,因?yàn)樗档土碎_(kāi)發(fā)人員編寫EJB的要求。EJB3的bean類將更像常規(guī)的Javabean。不要求像過(guò)去那樣實(shí)現(xiàn)特殊的回調(diào)界面或者擴(kuò)展EJB類。所以它將使EJB的開(kāi)發(fā)更像常規(guī)的Java開(kāi)發(fā)。從EJB3.0項(xiàng)目的開(kāi)發(fā)情況來(lái)看,除了第一個(gè)項(xiàng)目開(kāi)發(fā)周期相對(duì)有些長(zhǎng)之外(因?yàn)殚_(kāi)發(fā)人員之前尚未掌握EJB3.0,相當(dāng)于邊學(xué)邊用),后面的項(xiàng)目從開(kāi)發(fā)周期到以后的維護(hù)時(shí)間都明顯優(yōu)于JDBC+javabean或sprint+hibernate的項(xiàng)目,軟件在模塊劃分上更清晰,業(yè)務(wù)模塊重用方面也有所提高(多種客戶端J2ME,Web,Wap重用業(yè)務(wù)對(duì)象),數(shù)據(jù)庫(kù)移植性方面非常棒,只需修改一下數(shù)據(jù)源就很容易切換數(shù)據(jù)庫(kù)。

JavaEE需要一個(gè)與Hibernate類似的O/R映射的框架,這個(gè)規(guī)范為JSR-220;Hibernate僅關(guān)注ORM,而EJB3.0更多則更多表現(xiàn)為一種組件框架,其中包含ORM部分。EJB3.0在設(shè)計(jì)過(guò)程中,曾經(jīng)得益于Hibernate的成功,EJB3.0EntityBean的設(shè)計(jì)理念完全來(lái)自于Hibernate。Hibernate的EntityManager產(chǎn)品為EJB3.0的EntityBean的一種Implementation。

JPA基于JavaSE5.0的注記實(shí)現(xiàn)O/Rmapping,Hibernate基于XML文件,雖然Hibernate也提供HibernateAnnotation支持Annotation方式。有兩種定義映射的方法:元數(shù)據(jù)(注記)和映射文件。盡管我們提倡采用元數(shù)據(jù)的方法,但應(yīng)該也注意到了它所帶來(lái)的不便。從本質(zhì)上講,此方法牽涉應(yīng)用程序的兩個(gè)邏輯層:域模型和映射信息。因?yàn)檫@兩個(gè)層是分散的,所以這兩個(gè)層需要使用不同技術(shù)進(jìn)行單獨(dú)測(cè)試。元數(shù)據(jù)方法本身不會(huì)影響層的可測(cè)試性。更確切的說(shuō),元數(shù)據(jù)方法使這兩個(gè)層好像只是一個(gè)層,由于受一系列因素的影響,這可能會(huì)引起問(wèn)題。

Hibernate只是一種O/R映射框架,JavaEE更需要一個(gè)O/R映射規(guī)范.JPA為EJB3.0規(guī)范中的一個(gè)重要內(nèi)容,基于JPA的實(shí)現(xiàn)軟件具有與Hibernate同樣的優(yōu)勢(shì)。JPA為輕量級(jí)的對(duì)象關(guān)系映射實(shí)現(xiàn)持久化存儲(chǔ)的API。JPA可以使用在JavaSE和JavaEE環(huán)境中。

什么是JPA?

JavaEE5.0用于對(duì)象持久化的API

EJB3.0規(guī)范的重要組成部分

吸取了主流持久層框架例如Hibernate的優(yōu)點(diǎn)

Oracle提供Toplink實(shí)現(xiàn),為Oracle的開(kāi)源JPA實(shí)現(xiàn)。

Bea提供KODO實(shí)現(xiàn),被包含在Bea的weblogic商用服務(wù)器中。

JBoss提供HibernateEntityManager實(shí)現(xiàn),JBossAS4.2.1支持EJB3.0。

ApacheOpenJPA為Apache軟件許可下的EJB3Persistence標(biāo)準(zhǔn)的開(kāi)源實(shí)現(xiàn),下載地址為http://openjpa.apache.org/。OpenJPA提供了保存點(diǎn)功能,但JPA規(guī)范沒(méi)有。因此,希望使用保存點(diǎn)的OpenJPA開(kāi)發(fā)人員應(yīng)該對(duì)代碼的大部分內(nèi)容使用JPA規(guī)范,而借助OpenJPAEntityManager來(lái)設(shè)置和管理保存點(diǎn)。

您正在閱讀:持久化規(guī)范JPA(JavapersistenceAPI)

【編輯推薦】

  1. 用J2SE 5.0創(chuàng)建定制的泛型集合
  2. J2SE中兩種Java容器類List和Set分析
  3. J2SE綜合:深入了解Java 5.0的垃圾收集
責(zé)任編輯:張攀 來(lái)源: 新浪
相關(guān)推薦

2012-05-14 17:21:19

ibmdw

2009-06-19 18:36:15

JPAHibernate

2023-04-28 15:15:39

數(shù)據(jù)庫(kù)JPA

2009-06-01 15:32:30

EclipseJPA入門

2009-06-01 15:12:05

JPA是什么對(duì)象持久化ORM

2009-06-25 16:07:30

JPAJava EE

2009-06-01 15:19:25

JPAHibenateSpring

2009-06-01 13:17:48

JPAJava規(guī)范

2009-06-25 16:18:45

JPA規(guī)范

2013-09-12 14:56:02

iOS持久化

2009-06-01 12:04:38

JPASpringJAVA

2022-09-05 08:17:57

JPA級(jí)聯(lián)java

2024-03-26 00:03:08

Redis數(shù)據(jù)RDB

2024-02-29 09:12:09

2009-09-22 11:30:57

2023-10-12 13:01:29

Redis數(shù)據(jù)庫(kù)

2020-03-03 14:15:49

Redis持久化數(shù)據(jù)庫(kù)

2019-12-27 13:50:04

JavaAPI代碼

2021-03-18 08:18:15

ZooKeeper數(shù)據(jù)持久化

2009-07-29 17:36:55

ibmdwJava
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)