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

正文內(nèi)容

hibernate培訓(xùn)講座-預(yù)覽頁

2025-10-19 22:40 上一頁面

下一頁面
 

【正文】 rnate訪問多個數(shù)據(jù)庫,你需要對每一個數(shù)據(jù)庫使用一個會話工廠。它包括如下內(nèi)容: ? Hibernate運(yùn)行的底層信息:數(shù)據(jù)庫的 URL、用戶名、密碼、 JDBC驅(qū)動類,數(shù)據(jù)庫Dialect,數(shù)據(jù)庫連接池等。 ? 更好的移植性,只需要簡單的修改配置參數(shù),即可實現(xiàn)底層數(shù)據(jù)庫的切換。 新需求的產(chǎn)生 通用的持久層框架 ? 將編寫支撐性代碼的工作量降到最低。 ? 業(yè)務(wù)層和持久層可以彼此獨(dú)立的變化,比如:僅僅替換數(shù)據(jù)訪問層的實現(xiàn),可以將系統(tǒng)部署在不同的數(shù)據(jù)庫平臺上。 ? 好處是:簡單方便、開發(fā)迅速,不需要復(fù)雜的設(shè)計,比較適合于業(yè)務(wù)簡單的應(yīng)用。 ? 業(yè)務(wù)規(guī)則的變動必然影響到數(shù)據(jù)庫的訪問邏輯,反之亦然,笨重,難于維護(hù)。 引入 DAO模式的優(yōu)點(diǎn) ? 業(yè)務(wù)層無需關(guān)心具體的 select、 insert等操作,使得業(yè)務(wù)業(yè)務(wù)邏輯實現(xiàn)更加清晰,也使得開發(fā)人員的專業(yè)劃分成為可能,業(yè)務(wù)人員專注于業(yè)務(wù)邏輯編碼。 ? 特別是需要支持多種 SQL方言時,對于持久層的開發(fā)者是個大難題。 ? 對象模型和關(guān)系模型的映射( ORM),編碼時只需要關(guān)心對象,而無需再糾纏于JDBC ResultSet中的字段。 Hibernate核心架構(gòu) Configuration ?Configuration 類負(fù)責(zé)管理 Hibernate 的配置信息。 SessionFactory ? 會話工廠緩存了生成的 SQL語句和 Hibernate在運(yùn)行時使用的映射元數(shù)據(jù)。 Session ? Session也稱為持久化管理器,因為它是與持久化有關(guān)的操作接口。 ? Session session = ()。 目 錄 ? 持久層的概念及必要性 ? hibernate框架及核心類介紹 ? hibernate進(jìn)行持久化的一個例子 ? hibernate如何解決對象和模型的不匹配 ? 對象的持久性生命周期 ? 對目前項目的進(jìn)一步封裝和思考 對象-關(guān)系數(shù)據(jù)庫的基本映射 ? public class User { ? private String name。 (“軟件開發(fā)部” )。 ()。 ()。 (ggggg)。 delete ? Session s = ()。 ()。 ? 每個 ant腳本(缺省叫 )中設(shè)置了一系列任務(wù) (target),而多個任務(wù)之間往往又包含了一定的依賴關(guān)系。 ? 現(xiàn)在的 XDoclet已經(jīng)發(fā)展成了一個全功能的、面向?qū)傩缘拇a生成框架。( identity) ? 關(guān)聯(lián)問題。實現(xiàn) equals()方法。 ? 通常設(shè)置 getID()為 public,因為通過 id查找對象會很方便,而 setID()設(shè)為 private,其值由 hibernate產(chǎn)生, id不可以改變。 ? synthetic identifiers( surrogate keys):surrogate keys 沒有業(yè)務(wù)含義,它是由數(shù)據(jù)庫或者應(yīng)用產(chǎn)生的。 ? increment:主鍵按數(shù)值順序遞增。使用了 IP地址, JVM的啟動時間(精確到 1/4秒),系統(tǒng)時間和一個計數(shù)器值(在JVM中唯一)。 granularity—— 粒度問題 ? finegrained object model 適當(dāng)?shù)募?xì)粒度對象模型:所謂細(xì)粒度模型,就是將原本業(yè)務(wù)模型中的對象加以細(xì)分,從而得到更加精細(xì)的對象模型。 數(shù)據(jù)庫設(shè)計的思考 U s e rP K u s e r I D n a m e e m a i lA d d r e s sP K a d d r e s s I DF K 1 u s e r I D c i t y s t r e e t z i p c o d e t y p e這樣的設(shè)計是不必要的,并且存在性能問題。 ? Entity類有數(shù)據(jù)庫的主鍵值, Entity類有自己的生命周期,它不依賴于其他的類而獨(dú)立存在。 Table per concrete class 這是最簡單的一種方式:每一個子類對應(yīng)一張表,父類沒有表。 ? 僅僅用在不需要多態(tài)查詢的場合。 多態(tài)查詢 ? 查詢父類 select BILLING_DETAILS_ID, BILLING_DETAILS_TYPE,OWNER, ..., CREDIT_CARD_TYPE, from BILLING_DETAILS where CREATED = ? ? 查詢子類 select BILLING_DETAILS_ID,CREDIT_CARD_TYPE,CREDIT_CARD_EXP_MONTH, ...from BILLING_DETAILS where BILLING_DETAILS_TYPE=39。 但是可能會有嚴(yán)重的性能問題。 ? 經(jīng)驗:對于一般的解決,盡量用 tableperclasshierarchy, tablepersubclass請慎重使用。 如果關(guān)系模型要實現(xiàn)多對對,需要一個 link table, 而這個 link table不存在于對象模型中。 ? 我們需要告訴 hibernate這是一個雙向的關(guān)聯(lián)。則不發(fā)生任何持久化動作,只有調(diào)用了 (item)。 ? cascade屬性告訴 hibernate bid可以被級聯(lián)持久化。 ? 這類似于 Entity/Component的關(guān)系,但是有本質(zhì)的區(qū)別。 ? 內(nèi)存中的對象只有兩種狀態(tài):有用和無用。 Persistent objects ? persistent對象對應(yīng)數(shù)據(jù)庫的一條記錄,并且具有 database identity。 與數(shù)據(jù)庫的同步 ? 臟數(shù)據(jù):數(shù)據(jù)僅僅在內(nèi)存中更新而沒有同步到數(shù)據(jù)庫中稱為臟數(shù)據(jù)。 Detached objects ? 當(dāng)調(diào)用 (),原先的 persistent object就轉(zhuǎn)化為 detached object。對于多層架構(gòu)的設(shè)計產(chǎn)生重大影響。 對象樹 ? 通常大型應(yīng)用中操作的不可能只有一個對象,而是一個對象圖。如果某一個對象是非 reachable的,那么就應(yīng)該成為 transient。 ? 對象圖只是數(shù)據(jù)庫的一部份。 ? delete:如果 item被刪除,那么 item所 reference的 bid的被刪除。
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1