1. 程式人生 > >Hibernate關聯關係對映-----單向一對一對映配置

Hibernate關聯關係對映-----單向一對一對映配置

     這裡舉了一夫一妻的例子。

實體:

package uni.one2one;

public class Husband {
	private int id;
	private String name;
	private Wife wife;

	public Husband() {

	}

	public Husband(int id, String name, Wife wife) {
		super();
		this.id = id;
		this.name = name;
		this.wife = wife;
	}

	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 Wife getWife() {
		return wife;
	}

	public void setWife(Wife wife) {
		this.wife = wife;
	}

}

package uni.one2one;

public class Wife {
	private int id;
	private String name;

	public Wife() {

	}

	public Wife(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}

	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;
	}

}

hbm配置檔案:
<hibernate-mapping>
	<class name="uni.one2one.Husband">
		<id name="id" column="did">
			<generator class="native" />
		</id>
		<property name="name" type="string" column="name"></property>
		<many-to-one name="wife" unique="true"></many-to-one>
	</class>

</hibernate-mapping>
<hibernate-mapping>
	<class name="uni.one2one.Wife">
		<id name="id" column="did">
			<generator class="native" />
		</id>
		<property name="name" type="string" column="name"></property>
	</class>

</hibernate-mapping>

測試檔案:

public class Test {
	@org.junit.Test
	public void testAdd() {
		SessionFactory sf = HibernateUtil.getSessionFactory();
		Session session = sf.getCurrentSession();
		session.beginTransaction();
		
		Wife wife = new Wife();
		wife.setName("wife");
		
		Husband husband = new Husband();
		husband.setName("husband");
		husband.setWife(wife);
		
		session.save(wife);
		session.save(husband);
		
		
		session.beginTransaction().commit();

	}
}

測試結果:
Hibernate: insert into Wife (name) values (?)
Hibernate: insert into Husband (name, wife) values (?, ?)


相關推薦

Hibernate關聯關係對映-----單向一對一對映配置

     這裡舉了一夫一妻的例子。實體:package uni.one2one; public class Husband { private int id; private String name; private Wife wife; public Husba

hibernate關聯關係中的一對一以及懶載入的原理:lazy和fetch的理解

******************** Person.java主對像 ******************** package blog.hibernate.domain; public class Person { private int id; p

Hibernate關聯關係對映-----基於連線表的單向一對一對映

實體:package uni.one2one.jointable; public class Husband { private int id; private String name; private Wife wife; public Husband() {

Hibernate關聯關係配置-----基於連線表的雙向一對一對映配置

實體:package bi.one2one.jointable; public class Husband { private int id; private String name; private Wife wife; public Husband() {

Hibernate關聯關係對映-----基於連線表的單向多對多對映配置

實體:package uni.many2many.jointable; import java.util.HashSet; import java.util.Set; public class Student { private int id; private Str

Hibernate 關聯關係對映配置

Hibernate 關聯關係對映配置 問題背景 一個部門下有多個員工,每個員工只屬於一個部門 員工對部門(多對一) 部門對員工(一對多) 配置關聯關係 實體類 Employee.java publ

Hibernate關聯關係對映-----基於連線表的單向一對多對映

實體:package uni.many2one.jointable; public class Parent { private int id; private String name; private Child child; public Parent() {

Hibernate關聯關係配置(一對一,一對多,多對多)

第一種關聯關係:一對多(多對一) "一對多"是最普遍的對映關係,簡單來講就如消費者與訂單的關係。 一對多:從消費者角的度來說一個消費者可以有多個訂單,即為一對多。 多對一:從訂單的角度來說多個

Hibernate對映資料 - 一對一對映

Hibernate對映資料 - 一對一對映 Hierbnate中生成一對一對映關係的策略有主鍵對映以及外來鍵對映兩種。 主鍵對映: 通過將兩個相關聯的表生成共享主鍵,完成一對一的資料庫表結構。 外來鍵對映: 會在一個表中生成用於連結另一個表的外來鍵,再通過unique屬性

Hibernate關聯關係一對一

Hibernate關聯關係之一對一 1.一對一關聯 1.1.單向一對一外來鍵關聯 實體類中屬性,因為是單向一對一,從Person到IdCard,所以Person中多一個能存放IdCard例項物件的屬性。 IdCard.java和IdCard.hbm.xml public class I

hibernate 關聯關係配置(一對多,多對一)

Hibernate 關聯關係:        1. 什麼是關聯(association)            1.1 關聯指的是類之間的引用關係。如果類A與類B關聯,那麼被引用的類B將被定義為類

Hibernate關聯關係一對一關聯關係的CRUD操作

說明:本文註釋的不是很多,只是功能上能簡單的基本達到。要看詳細的說明可參考另一篇博文超詳細的Hibernate關聯關係之雙向的一對多關聯關係的CRUD操作————學習至黑馬程式設計師視訊教程。。當然,one-to-one , many-to-one , many-to-man

Hibernate關聯關係註解配置簡單理解

Hibernate關聯關係註解配置 什麼是關聯關係?關聯關係有哪幾種? 關聯關係指實體之間的關係,也就是表與表之間的關係。一個關係用兩個屬性來描述,數量性和方向性。 從數量上來看,表與表之間主要有三種關係,一對一,一對多,多對多。 加上關係的方向,還有一個多對一。 hibernate中關聯關係的維護

Hibernate的一對多關聯關係單向和雙向)

雙向關聯:主表中有從表的屬性,從表中有主表的屬性。 單向關聯:主表中只有從表的屬性。            建立兩個類檔案:Person,card package c

Hibernate關聯關係配置-----基於連線表的雙向多對多配置

實體:package bi.many2many.jointable; import java.util.HashSet; import java.util.Set; public class Student { private int id; private Stri

web開發(十一)之Hibernate關聯關係配置

寫在前面 Hibernate中關係的對映共有以下四種:一對多、多對一、一對一、多對多這四種。 一對多單向關聯 xml對映 一對多即在A表中的每一條資料都會與B表中的n條有關聯;在這種情況下一般都是在B表新增一個欄位用來當作外來鍵與A表中的主鍵相關聯。而這種

hibernate關聯關係註解(一對多、多對一、一對一

一對多、多對一、一對一的註解實現 casecade={CasecadeType.REFRESH}的含義是隻是查詢級聯,它還有其他3個型別: CascadeType.MERGE級聯更新 CascadeType.PERSIST級聯儲存 CascadeType.REMOVE級聯刪

hibernate關聯關係一對多

1. 什麼是關聯(association)   1.1 關聯指的是類之間的引用關係。如果類A與類B關聯,那麼被引用的類B將被定義為類A的屬性。例如:       public class A{         priva

hibernate關聯關係雙向OneToOne

     其實關聯關係看起來很簡單,就什麼一對一,一對多,多對多,但是深入發掘,你會知道其中它們之間的關係其實還是挺複雜的,所以今天先用個小例子講講雙向一對一吧~ 這裡我使用的是eclipse編寫的一個maven+hibernate的一個例子 首先

Mybatis之高階對映一對一對映

1.一對一對映 兩表關聯查詢。有兩種方案:對映檔案中輸出對映使用resultType或者resultMap。 需求:查詢人員資訊並關聯其部門。 資料庫兩張表: 人員表: 部門表: (