1. 程式人生 > >Hibernate關係對映--雙向一對多@OnToMany

Hibernate關係對映--雙向一對多@OnToMany

<span style="font-family:Microsoft YaHei;">//表一(一的一方)
@Entity
@Table(name = "T_JC_test1")
@Where(clause="recordStatus='"+GlobalConstant.FLAG_Y+"'")
public class Test1 extends BusinessEntity{
	private static final long serialVersionUID = 2535128385272676564L;
	private String name;<span style="white-space:pre">		</span>//姓名
	private List<Test2> report = new ArrayList<Test2>();<span style="white-space:pre">		</span>//成績單(引用表二)
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	@OneToMany(cascade={CascadeType.ALL})
	@JoinTable(name="T_JC_test1_test2",
[email protected]
(name="test1_ID"),[email protected](name="test2ID")) public List<Test2> getReport() { return report; } public void setReport(List<Test2> report) { this.report = report; } } //表二(多的一方) @Entity @Table(name = "T_JC_test2") @Where(clause="recordStatus='"+GlobalConstant.FLAG_Y+"'") public class Test2 extends BusinessEntity{ private static final long serialVersionUID = -7653945367481001205L; private int chinese;<span style="white-space:pre"> </span>//語文成績 private int math;<span style="white-space:pre"> </span>//數學成績 private Test1 test1;<span style="white-space:pre"> </span>//引用表一 @ManyToOne @JoinTable(name="T_JC_test1_test2",
[email protected]
(name="test2ID"),[email protected](name="test1ID")) public Test1 getTest1() { return test1; } public void setTest1(Test1 test1) { this.test1 = test1; } public int getChinese() { return chinese; } public void setChinese(int chinese) { this.chinese = chinese; } public int getMath() { return math; } public void setMath(int math) { this.math = math; } } </span>

3.對於有連結表的雙向一對多,既可以讓表一控制關聯關係,也可以讓表二控制關聯關係,而且表一和表二的關聯關係交給連結表來管理,因此沒有主、從表關係,所有無論先持久化哪個實體,都不會引發效能問題

相關推薦

Hibernate關係對映--雙向一對@OnToMany

<span style="font-family:Microsoft YaHei;">//表一(一的一方) @Entity @Table(name = "T_JC_test1") @Where(clause="recordStatus='"+GlobalConstant.FLAG_Y+"'") p

JPA:對映雙向一對關聯關係

1.顧客實體類程式碼: package com.wayne.helloworld; import java.util.Date; import java.util.HashSet; import java.util.Set; import javax.persistence.Cascad

JPA學習筆記(8)——對映雙向一對關聯關係

                        雙向一對多關聯關

Hibernate關聯對映一對/

3.  Hibernate關聯對映 上接Hibernate持久化類:https://blog.csdn.net/biggerchong/article/details/84260707 目錄 3.  Hibernate關聯對映 3.1 資料庫

JPA總結——實體關係對映一對@OneToMany)

表address中的customer_id為customer表中的id的值,通過customer_id可以找到相應的customer的記錄。將表customer對映為CustomerEO實體,程式碼如下:    @Entity    @Table(name="customer")    public clas

JAVAWEB開發之Hibernate詳解(二)——Hibernate的持久化類狀態與轉換、以及一級快取詳解、關聯關係對映一對、級聯)

package cn.test.hibernate3.demo2; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test; import cn.test.hibernate3.demo2.

Hibernate 單向對一、單向一對雙向一對關聯關係詳解

一對多關係是最普遍的對映關係。比如部門和職工 一對多:從部門的角度,一個部門對應多個職工 多對一:從職工的角度,多個職工對應一個部門 資料庫表中結構: 表 department:did departname 表 Employee:eid   en

hibernate中配置單向對一關聯,和雙向一對

findstr man dea exc prop imp pri 找到 基礎 什麽是一對多,多對一?雙向多對一和雙向一對多是不是同一個概念?   是一個概念,雙向多對一和雙向一對多都是配置一個 一對多和多對一   一對多,比如你去找一個父親的所有孩子,孩子可能有兩個,三個

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

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

Hibernate的關聯關係對映之一對對映

1. 編寫客戶和聯絡人的JavaBean程式(注意一對多的編寫規則) * 客戶的JavaBean如下 public class Customer { private Long cust_id; private String cust_name; private Lo

hibernate關係對映關係

由於資料庫中不能直接對映多對多關係,所以處理方式為建立一個橋接表(中間表),將一個多對多關係轉換成兩個一對多,這裡以書籍和書籍類別為例來講解Hibernate關聯對映中的多對多關聯關係。資料庫設計如圖: 書籍表(t_hibernate_book): 書籍類別表(t_h

hibernate關聯對映之一對關係

以訂單和訂單項為例來講解Hibernate關聯對映中的一對多關聯關係。兩個實體類如下: 訂單類: package com.zking.four.entity; import java.util.HashSet; import java.util.Set; /**

Hibernate配置資料庫表一對關係,丟擲外來鍵為空的異常

建立一個客戶對應多個聯絡員,一個聯絡員負責聯絡一個客戶的一對多的關係 將寫好的程式執行,報外來鍵link_cust_id為空的異常 然後就一直在想怎麼可能呢?程式碼、配置檔案都沒有錯啊,仔細檢查了兩個對映關係檔案中一對多和多對一的配置,實在想不通哪裡出錯了。

菜雞的Java筆記 雙向一對對映

    雙向一對多對映    two-way    開發要求:        根據資料表的結構進行簡單java類的轉換:    &

Hibernate關係對映(六)單向關聯@ManyToMany Annotation方式

本篇介紹多對多的單向關聯,多對多的處理方式是,有一張中間表,中間表儲存兩個多方之間的關係。首先來看實際應用場景:在之前開發的系統中,應用了基於角色的控制訪問,也就是RBAC模型,一個使用者可能存在多種角色,一種角色也可能有多個使用者,所以使用者和角色之間是一個多

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

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

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

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

Hibernate 學習筆記 之 一對關係 及其 級聯操作

一、一對多關係 Customer.java /** * Created by Donald on 2016/11/19. */ public class Customer {

Hibernate 關係對映雙向1:n(重要) 1:n n:1

1.雙向1:n關聯(常用,非常重要) 對於1-N關聯,Hibernate推薦使用雙向關聯,而且不要讓1的一端控制關聯關係,而使用N的一端控制關聯關係。 雙向的N-1關聯與1-N關聯是完全相同的兩種情形。兩端都需要增加對關聯屬性的訪問,N的一端增加引用到關聯實

Hibernate關係對映對映的兩種方式

多對多關係## many-to-many 應用場景:不建議使用,建議拆解成兩個“一對多”連線 關係定義(主控方): //xml對映方法 <set name="propertyName" table="middle_table_name"&g