6.2.1 繼承映射:採用union-subclass元素的繼承映射

union-subclass映射與joined-subclass映射非常相似,子類增加的屬性也可以有非空約束------即父類執行個體的資料儲存在父表中,而子類執行個體的資料則儲存在子表中。與joined-subclass不同的是,子類執行個體的資料僅儲存在子類表中,沒有在父類表中有任何記錄。在這種映射策略下,子類表的欄位會比父類表的欄位要多,因為子類表的欄位等於父類屬性加子類增加屬性的總和。Person.hbm.xml :<?xml

6.3 Hibernate的批量處理: (6.3.3)DML風格的批次更新和刪除

Hibernate提供的HQL語句也支援批量的update和delete文法。批量update和delete語句的文法格式如下:UPDATE | DELETE FROM ? <ClassName> [ WHERE WHERE_CONDITIONS ]關於上面的文法格式有如下4點值得注意;① 在FORM子句中,FROM關鍵字是可選的,即完全可以不寫FROM關鍵字。② 在FORM子句中只能有一個類名,該類名不能有別名。③

6.3 Hibernate的批量處理: (6.3.1)批量插入

Hibernate完全以物件導向的方式來操作資料庫,當程式裡以物件導向的方式操作持久化對象時,將被自動轉換為對資料庫的操作。例如我們調用Session的delete(

HTML中的事件控制代碼

很多動態性的程式都定義了事件控制代碼,當某個事件發生時,Web瀏覽器會自動調用相應的事件控制代碼。由於用戶端JavaScript的事件是由HTML對象引發的,因此事件控制代碼被定義為這些對象的屬性。例如,要定義在使用者點擊表單中的複選框時呼叫事件控制代碼,只需把處理代碼作為複選框的HTML標記的屬性:<input type="checkbox" name="options" value="giftwrap"

7.5.2:容器中Bean的範圍

當通過Spring容器建立一個Bean執行個體時,不僅可以完成Bean執行個體的執行個體化,還可以為Bean指定特定範圍。Spring支援如下5種範圍:Spring支援的範圍範圍說明singleton單例模式,在整個Spring

7.5.3:配置依賴

Bean的 依賴注入 通常表現為如下兩種形式:① 屬性:通過<property.../>元素配置,對應設值注入。② 構造器參數:通過<constructor-arg.../>元素指定,對應構造注入。通常情況下,Spring在執行個體化容器時,會校正BeanFactory中每一個Bean的配置,這些校正包括:① Bean引用的依賴Bean是否指向一個合法的Bean。②

編寫xml檔案時如何讓myeclipse給出提示

今天在編寫Struts2的校正設定檔時,遇到myeclipse不能給出提示的情況,很是麻煩。解決辦法如下:Window--->Preferences...--->MyEclipse Enterprise Workbench--->Files and Editors--->XML--->XML Catalog--->按鈕Add...--->Location--->File System--->磁碟上的目標dtd檔案--->Key

6.3 Hibernate的批量處理: (6.3.2)批次更新

上篇文章介紹的方法同樣適用於批次更新資料,如果需要返回多行資料,應該使用scroll( )方法,從而可以充分利用伺服器端遊標所帶來的效能優勢。Transaction txt=session.beginTransaction();ScrollableResults users=session.createQuery("from User"). setCacheMode(CacheMode.IGNORE).scroll(ScrollMode.FORWARD_ONLY);int

6.4.10:group by子句

返回聚集值的查詢可以對持久化類或組件屬性的屬性進行分組,分組使用group by子句:select cat.color,sum(cat.weight),count(cat)from Cat catgroup by cat.color;類似於SQL的規則:出現在select後的屬性,要麼出現在聚集合函式中,要麼出現在group by的屬性列表中。select foo.id,avg(name),max(name)from Foo foo join foo.names namegroup by

6.4.12:命名HQL查詢

HQL查詢還支援將查詢所用的HQL語句放入設定檔中,而不是代碼中。通過這種方式,可以大大提高程式的解耦。在Hibernate對應檔的<hibernate-mapping.../>元素中使用<query.../>子項目來定義命名查詢,使用<query.../>元素只需要指定一個name屬性,指定該命名查詢的名字。該元素的內容就是命名查詢的HQL語句。下面是定義命名查詢的設定檔片段:<query name="myNamedQuery">

7.5.4:設定普通屬性值

<value.../>元素用於指定字串類型、基本類型的屬性值。Person.java :public class Person{private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void

6.8.1:事務的概念

每個商務邏輯方法都是由一系列的資料庫訪問完成的,這一系列的資料訪問可能會修改多條資料記錄,這一系列的修改應該是一個整體,絕不能僅修改其中的幾條。也就是說,多個資料庫原子訪問應該綁定成一個整體------這就是事務。事務是一個最小的邏輯執行單元,整個事務的執行不能分開執行,要麼同時執行,要麼同時放棄執行。事務是一步或幾步基本操作組成的邏輯執行單元,這些基本操作作為一個整體執行單元,它們要麼全部執行,要麼全部取消,決不能僅僅執行部分。一般而言,每次使用者請求,對應一個商務邏輯方法,一個商務邏輯方法往

6.1.2 基於外鍵的單向1—>1關聯

對於單向的1--->1關聯關係,需要在持久化類裡為關聯實體的引用屬性增加setter和getter方法。從持久化類上來看,單向1--->1與單向N--->1沒有絲毫區別。因為N的一端,或者1的一端都是直接存取關聯實體,只需增加關聯實體屬性的setter和getter方法即可。事實上,單向1--->1與N--->1的映射配置也非常相似,只需要為原有的<many-to-one.../>元素增加unique="true"屬性,用以表示N的一端必須唯一即可。既然

6.2.1 繼承映射:採用joined-subclass元素的繼承映射

採用這種映射時,父類執行個體儲存在父類表裡,而子類執行個體則由父類表和子類表共同儲存。因為子類執行個體也是一個特殊的父類執行個體,因此必然也包含了父類執行個體的屬性,於是將子類與父類共有的屬性儲存在父類表中,而子類增加的屬性,則儲存在子類表中。在這種映射策略下,無須使用辨別者列,但需要為每個子類使用<key.../>元素映射共有主鍵------這個主鍵列還將參照父類表的主鍵列。Person.hbm.xml :<?xml

6.1.2 有串連表的單向1—>1關聯

雖然這種情況很少見,但Hibernate同樣允許這樣採用串連表映射單向1--->1關聯。有串連表的單向1--->1關聯同樣只需要為有串連表的N--->1關聯中的<many-to-one.../>元素增加unique="true"屬性即可。Person.hbm.xml :<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate

7.4.5:讓Bean擷取Spring容器

前面的程式都是先建立Spring容器,再調用Spring容器的 getBean(String name)

6.1.2 基於主鍵的單向1—>1關聯

1--->1關聯可以基於主鍵關聯,基於主鍵關聯的持久化類不能擁有自己的主鍵產生器,它的主鍵由關聯實體來負責產生。採用基於主鍵的1--->1關聯時,應該使用<one-to-one.../>元素來映射關聯實體,配置<one-to-one.../>元素時需指定一個name屬性,其值為關聯實體屬性的屬性名稱。Person.hbm.xml :<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC

7.5.1: Bean的基本定義

從本質上來看,Spring容器就是一個超大型工廠,Spring容器中的Bean就是該工廠的產品。Spring容器能產生哪些產品,則完全取決於開發人員在設定檔中的配置。<beans.../>元素是Spring設定檔的根項目,該元素可以指定如下屬性:beans元素的屬性屬性名稱說明deafult-lazy-init指定該beans元素下配置的所有Bean預設的延遲初始化行為default-merge指定該beans元素下配置的所有Bean預設的merge行為default-autowir

6.2.1 繼承映射:採用subclass元素的繼承映射

對於物件導向的程式設計語言,繼承、多態是兩個最基本的概念。Hibernate的繼承映射可以理解兩個持久化類之間的繼承關係,例如老師和人之間的關係,老師繼承了人,可以認為老師是一個特殊的人。如果對人進行查詢,老師執行個體也將被得到------而無須關注人的執行個體,老師的執行個體在底層資料庫的儲存。Hibernate支援幾種繼承映射策略,不管哪種繼承映射策略,Hibernate的多態查詢都可以運行良好。採用subclass元素的繼承映射:在這種映射策略下,整個繼承樹的所有執行個體都將儲存在同一個表

6.4.11:子查詢

如果底層資料庫支援子查詢,則可以在HQL語句中使用子查詢。與SQL中子查詢相似的是,HQL中的子查詢也需要使用英文括弧括起來,例如:from Cat as fatcatwhere fatcat.weight>(select avg(cat.weight) from DomesticCat cat);與SQL子查詢文法完全類似,如果子查詢是多行結果集,則應該使用多行運算子,例如:from Cat as catwhere not (cat.name,cat.color) in(select

總頁數: 61357 1 .... 17630 17631 17632 17633 17634 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.