1. 程式人生 > >Hibernate之元件對映

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這方

hibernate4.延遲載入

pop not in 異常 .get pos pan 實體對象 content except 延遲載入: 僅僅有當使用以實體對象的屬性(除主鍵屬性外)時,才會發送查詢語句到數據庫 get不支持延遲載入 @Test public void getTes

hibernate7.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