freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

jpa開(kāi)發(fā)文檔(留存版)

  

【正文】 ity都會(huì)自動(dòng)的脫離EntityManager,狀態(tài)轉(zhuǎn)變?yōu)閐etached ()。 // 更新原始數(shù)據(jù)類(lèi)型 ( newName )。 Son mySon = new Son()。 ().begin。 final HelloEntityBean hello = new HelloEntityBean( 1, foo )。 , Id private String lastName。 abstract類(lèi)和Concrete實(shí)體類(lèi)都可以作為Entity類(lèi)。清單 2 在容器中運(yùn)行的 JPA 例子/** 在容器中運(yùn)行 JPA 應(yīng)用時(shí),EntityManager 接口的實(shí)例”em”* 是通過(guò) Resource 注釋注入的。 Persistence Persistence 是一個(gè)工具類(lèi),負(fù)責(zé)根據(jù)配置文件提供的參數(shù)創(chuàng)建 EntityManagerFactory 對(duì)象??涉敲?JDBC 的查詢(xún)能力JPA 定義了獨(dú)特的 JPQL(Java Persistence Query Language),JPQL 是 EJB QL 的一種擴(kuò)展,它是針對(duì)實(shí)體的一種查詢(xún)語(yǔ)言,操作對(duì)象是實(shí)體,而不是關(guān)系數(shù)據(jù)庫(kù)的表,而且能夠支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能夠提供的高級(jí)查詢(xún)特性,甚至還能夠支持子查詢(xún)。JDBC支持處理大量的數(shù)據(jù),能夠保證數(shù)據(jù)的一致性,支持信息的并發(fā)訪問(wèn),提供 SQL 查詢(xún)語(yǔ)言查找數(shù)據(jù)。圖1 JPA 主要組件和相互關(guān)系 // 從 EntityManagerFactory 實(shí)例 factory 中獲取 EntityManagerEntityManager em = ()。f39。Entity類(lèi)的屬性必須通過(guò)getter/setter或者其他的商業(yè)方法獲得。access=PROPERTY時(shí)getter/setter的邏輯應(yīng)該盡量簡(jiǎn)單。 簡(jiǎn)單主鍵必須對(duì)應(yīng)Entity中的一個(gè)屬性變量(Instance Variable),而該屬性對(duì)應(yīng)數(shù)據(jù)庫(kù)表中的一列。 public PersonPK() { } public String getFirstName() { return firstName。Entity由應(yīng)用產(chǎn)生,和EJB3 Persistence運(yùn)行環(huán)境沒(méi)有聯(lián)系,也沒(méi)有唯一的標(biāo)示符(Identity)。 // 持久化hello,在此操作之前hello的狀態(tài)為new ( hello )。 // 保存Father ( father )。由于OneToOne關(guān)系中配置casacade=,關(guān)聯(lián)的mySon會(huì)自動(dòng)地被持久化 ( father )。 // 提交事務(wù),剛才的更新同步到數(shù)據(jù)庫(kù) ()。 // 附合( merge )需要在事務(wù)中進(jìn)行 ().begin()。Order schema Type。true39。 // 設(shè)置查詢(xún)中的參數(shù) ( 1, 2 )。 // 第一個(gè)行 Object[] row = ( 0 )。 MIN final Query query = ( select MAX( ) from Order where =39。foo39。 // 返回所有地址為2000的Order紀(jì)錄,不管Order中是否有OrderItem final Query query = ( select o from Order o left join where =2000 order by )。由于使用了fetch,這個(gè)查詢(xún)只會(huì)產(chǎn)生一條SQL語(yǔ)句,比原來(lái)需要N+1條SQL語(yǔ)句在性能上有了極大的提升。 int result = ()。 (newvender, barVender)。 這樣的查詢(xún)性能上有不足的地方。因此JPQL仍然支持和SQL中類(lèi)似的關(guān)聯(lián)語(yǔ)法: 如果還需要加上查詢(xún)條件,需要使用HAVING條件語(yǔ)句而不是WHERE語(yǔ)句。 AVG JPQL也允許我們直接查詢(xún)返回我們需要的屬性,而不是返回整個(gè)Entity。 // 可以使用多個(gè)參數(shù) final Query query = ( select o from Order o where = :myId and = :customerName )。 final Iterator iterator = ()。 final Query query = ( select o from Order o)。 // 這時(shí)Father還是被EntityManager管理的 Father father = ( , 1 )。 Father father = ( , 1 )。 ().begin。 final EntityManager manager = ()。 final EntityManager entityManager = ()。 搜索當(dāng)前jar包的METAINFO/ Id private String firstName。 如果需要在getter中包含商業(yè)邏輯,應(yīng)該采用access=FIELD的方式。 下面的代碼顯示了在 EJB 容器中開(kāi)發(fā) JPA 應(yīng)用時(shí)的接口使用情況,由于容器中的 EntityManager 是注入的,事務(wù)也是聲明式的,因此在容器中完成上面的業(yè)務(wù)邏輯要簡(jiǎn)單得多。JPA 基于非侵入式原則設(shè)計(jì),因此可以很容易的和其它框架或者容器集成。JDBC 所使用的關(guān)系模型不是為保存對(duì)象而設(shè)計(jì)的,因此迫使開(kāi)發(fā)者選擇在處理持久數(shù)據(jù)時(shí)放棄面向?qū)ο缶幊?,或者自己去開(kāi)發(fā)將面向?qū)ο筇匦裕ū热纾侯?lèi)之間的繼承)和關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行映射的專(zhuān)有解決方案。 EntityManagerFactory EntityManagerFactory 是 EntityManager 的工廠類(lèi),負(fù)責(zé)創(chuàng)建 EntityManager 對(duì)象。// 實(shí)體的更新需要在事務(wù)中運(yùn)行EntityTransaction tx = ()。)。在絕大部分的商業(yè)應(yīng)用,開(kāi)發(fā)人員都可以忽略這部分無(wú)需關(guān)心。 規(guī)范中access方式還有多一層含義。 使用簡(jiǎn)單主鍵,我們只需要用Id元數(shù)據(jù)對(duì)一個(gè)屬性變量或者她的getter方法進(jìn)行批注。 } public void setFirstName(String firstName) { = firstName。 // 這時(shí)hello的狀態(tài)變?yōu)閙anaged ()。 // 由于OneToOne關(guān)系中沒(méi)有配置casacade屬性,father 關(guān)聯(lián)的mySon不會(huì)被自動(dòng)保存,需要分別保存 ( mySon )。 ().mit()。 刪除Entity對(duì)Entity的刪除必須在事物內(nèi)完成。 ( father )。查詢(xún)Entity在JPQL中都是針對(duì)Entity的Abstract Schema Type進(jìn)行查詢(xún)。 )。// 1表示第一個(gè)參數(shù),2是參數(shù)的值 //或者 final Query query = ( select o from Order o where = ?1).setParameter( 1, 2 )。 // 數(shù)組中的第一個(gè)值是id int id = ( row[0].toString() )。foo39。)。 由于JPQL默認(rèn)采用left join。在查詢(xún)中使用參數(shù)查詢(xún)時(shí),參數(shù)類(lèi)型除了String, 原始數(shù)據(jù)類(lèi)型( int, double等)和它們的對(duì)象類(lèi)型( Integer, Double等),也可以是Entity的實(shí)例。 Query query = (DELETE FROM Order AS o WHERE =39。)。 // 這時(shí)獲得Order實(shí)體中orderItems( 集合屬性變量 )為空 final Order order = (Order)( 0 ) // 當(dāng)應(yīng)用需要時(shí),EJB3 Runtime才會(huì)執(zhí)行一條SQL語(yǔ)句來(lái)加載屬于當(dāng)前Order的OrderItems Collection orderItems = ()。 select , , , , , from orderTable as o left join
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1