一、單向和雙向
包括一對(duì)一,一對(duì)多,多對(duì)多這三種情況,但是每一種又分為單向和雙向,在hibernate中我們就詳細(xì)解析過(guò)這單向和雙向是啥意思,在這里,在重復(fù)一遍,就拿一對(duì)多這種關(guān)系來(lái)講,比如有員工和部門,一個(gè)部門中有多個(gè)員工,從部門方看,是一對(duì)多關(guān)系,而多名員工屬于一個(gè)部門,是多對(duì)一關(guān)系,那么如果我們的業(yè)務(wù)需求只需要通過(guò)部門查找到所有的員工,那么我們就只需要進(jìn)行單向一對(duì)多的映射,如果我們需要通過(guò)員工來(lái)查詢出對(duì)應(yīng)的部門,那么我們就需要進(jìn)行單向多對(duì)一的映射,而如果我們這兩個(gè)業(yè)務(wù)需求都需要實(shí)現(xiàn),也就是不管從哪一方進(jìn)行查找,都需要能夠找到對(duì)方,那么此時(shí)就應(yīng)該編寫雙向一對(duì)多或者雙向多對(duì)一(雙向一對(duì)多和雙向多對(duì)一是一樣的意思)。所以,不管是編寫哪一種,都是根據(jù)業(yè)務(wù)需求來(lái)進(jìn)行決策的。這就是單向和雙向的意思。
什么是多對(duì)多?
多對(duì)多就是不管從哪一方看,都是一對(duì)多,那么該關(guān)系就是多對(duì)多。比如學(xué)生跟選修課之間,從學(xué)生方看,一個(gè)學(xué)生能選多門選修課,一對(duì)多關(guān)系,從選修課之間,一門選修課可以被多個(gè)學(xué)生選擇,也是一對(duì)多關(guān)系,那么學(xué)生跟選修課就是多對(duì)多關(guān)系。多對(duì)多關(guān)系之間都會(huì)由第三張表來(lái)表示這種關(guān)系。而不會(huì)相互設(shè)置外鍵。
二、測(cè)試環(huán)境
三、一對(duì)一映射
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26
