Hibernate之元件對映
一,概述
1)一個類中包含另一個類(車與輪子),這兩個類就是組合關係.
2)類組合關係的對映,也稱為元件對映.
3)元件類和被包含的元件類,共同對映到同一張表.
4)需求:車與輪子.
二,JavaBean設計
1)Car.java
package com.bighuan.d_component; public class Car { private int id; private String name; // 車輪 private Wheel wheel; public Car(){ } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Wheel getWheel() { return wheel; } public void setWheel(Wheel wheel) { this.wheel = wheel; } }
2)Wheel.java
package com.bighuan.d_component; // 輪子 public class Wheel { private int count; private int size; public Wheel(){ } public int getCount() { return count; } public void setCount(int count) { this.count = count; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } }
三,對映檔案
1)Car.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!-- 元件對映 --> <hibernate-mapping package="com.bighuan.d_component"> <class name="Car" table="t_car"> <id name="id"> <generator class="native"></generator> </id> <property name="name" length="20"></property> <!-- 元件對映 --> <component name="wheel"> <property name="size"></property> <property name="count"></property> </component> </class> </hibernate-mapping>
2)測試
package com.bighuan.d_component;
import org.hibernate.Hibernate;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import org.junit.Test;
public class App {
private static SessionFactory sf;
static {
sf = new Configuration()
.configure()
.addClass(Car.class)
.buildSessionFactory();
}
@Test
public void testSave() {
Session session = sf.openSession();
session.beginTransaction();
// 輪子
Wheel wheel = new Wheel();
wheel.setSize(38);
wheel.setCount(4);
// 車
Car car = new Car();
car.setName("BMW");
car.setWheel(wheel);
// 儲存
session.save(car);
session.getTransaction().commit();
session.close();
}
}
執行測試方法,資料庫多了一張t_car表:id,name,size,coun,成功將資料插入了資料庫.相關推薦
Hibernate之元件對映
一,概述 1)一個類中包含另一個類(車與輪子),這兩個類就是組合關係. 2)類組合關係的對映,也稱為元件對映. 3)元件類和被包含的元件類,共同對映到同一張表. 4)需求:車與輪子. 二,JavaBean設計 1)Car.java package com.bighuan.d
hibernate單表之元件對映和繼承對映
表結構: Create table customer( id int primary key, name varchar(15), home_street varchar(255), home
一對多|多對一關係 ---- Hibernate之關聯對映
敘:hibernate中的關聯對映存在一對多多對一關係和多對多關係;本章節電蟲就關聯對映的一對多多對一關係進行學習和總結記錄; Hibernate的關聯對映之“一對多|多對一”關係 準備工作 需要有兩個實體類以及實體類所對應的對映檔案,由於之前建立
Hibernate集合元件對映
集合的對映setlistarraymap 配置: <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
14.Hibernate的元件對映
可以使用component對映元件到該表中,當然元件也可以包含集合即元件所對映的類有包含集合,簡單例子 Person對映檔案 <?xml version="1.0" encoding="GBK"
Java程式設計師從笨鳥到菜鳥之(五十九)細談Hibernate(十)hibernate查詢排序和元件對映
上一篇: 在實際開發過程中,有很多使用者需要時要把查詢出來的結果進行排序顯示,而不是在資料庫裡面那樣順序混亂那樣的顯示,這樣的話我們不得不要對資料進行排序了,hibernate對資料排序提供了很好的支援,hibernate提供了兩種對查詢到得資料結
Hibernate之深入Hibernate對映
Hibernate對映即完成持久化類與關係資料庫中一一對應,而要想將一個普通類變成一個持久化類,一般是通過兩種方法,一種是通過持久化註解,另外就是通過配置檔案來完成,這種用的比較少,而註解在一般用的比較多。 再使用註解的方法的時候,一般是有幾個不可少的註解需要我們完成。一般
Hibernate之對映檔案和主配置檔案詳解
一、對映配置檔案(xxx.hbm.xml) <hibernate-mapping> <!-- 配置表與實體對映關係 --> <class name="com.mark.domain.Customer" table="cst_customer"&
Hibernate關係對映——元件對映
如何理解元件? 元件是某個實體的邏輯組成部分,它與實體的本質區別在於元件沒有oid,可以把元件當做值物件。這樣的解釋可能有點抽象,舉例來說:student類有id、name、addr
hibernate元件對映和繼承對映
元件對映 類的關係: wheel.javapublic class Wheel { private String brandname; private int size; }Car.java public class Car { private int id; pr
SSH框架之Hibernate的關聯對映之一對多、多對一對映
關聯對映之一對多、多對一對映 一、需求: 部門與員工 一個部門有多個員工 【一對多】 多個員工,屬於一個部門 【多對一】 二、邏輯分析: 三、程式碼實現 1、javabean及對映檔案的配置: 1)Employee.java、Employ
Hibernate學習-10-元件對映和繼承對映
類的關係 組合關係 一個類中包含了另一個類。這兩個類就是組合關係 繼承關係 一個類繼承一個關係 元件對映 com.cx.component.Car package com.cx.component; /** * Created
Hibernate之複合主鍵對映
一,概述 複合主鍵也是開發中經常遇到的需求,這篇部落格就是關於複合主鍵對映,開始吧! 二,實體類準備 1)複合主鍵類 package com.bighuan.d_compositeKey; import java.io.Serializable; /** * 複合主
Hibernate 基本對映與元件對映
Hibernate 基本對映 一對一 一個賬戶一個地址 AccountAddress 主鍵表外來鍵表 [在Address 對應的表中建一個外來鍵] 獨立主鍵: One: Account <one-to-one name=”addr” property-ref=”act”
hibernate 元件對映
元件(Component)對映 1、 類Teacher publicclass Teacher { privateintid; private String name; private Strin
Hibernate之三態篇
結果 定義 tro 緩存 session nsa weight sys -c 一、概況 (一)瞬時狀態(暫時態) 在對象中假設對象剛被創建但沒有被持久化的話就是瞬時態 特點: (1) 不和 Session 實例關聯 (2)
hibernate之多對一單向關聯
als exce 方法 試用 size code 產生 配置文件 sse 一個工作組(Group)裏能夠有多個用戶(User),一個User僅僅屬於一個Group,這是典型的多對一的關系。在多對一的關系中正確的數據庫設計是在多的這方(在這裏是User這方
hibernate之4.延遲載入
pop not in 異常 .get pos pan 實體對象 content except 延遲載入: 僅僅有當使用以實體對象的屬性(除主鍵屬性外)時,才會發送查詢語句到數據庫 get不支持延遲載入 @Test public void getTes
hibernate之7.one2many雙向
rri 默認 app 姓名 data print pop one int 表結構 實體類關系 實體類源代碼 Student package com.demo.model; import java.io.UnsupportedEncod
hibernate之初學一對多和多對一配置及使用
外鍵 ble dtd nat util gin doc 一對多 dialect 按查詢及存取速率來說的一對多用的相對多對一少一些,這裏只寫主要配置文件的代碼 首先是hibernate的配置文件 <!DOCTYPE hibernate-configuration PU