前言:在java的世界中萬事萬物皆對象,而在一個工程中往往是涉及到多個對象。那么在處理多個對象之間的關系顯得尤為重要,對象關系大致可以分為四種。一對一、一對多、多對一、多對多,而一對一無需多講,一對多與多對一則是考慮的角度問題,其本質(zhì)都是一樣的,最后多對多也是可以拆分為一對多的關系。本例講解一個訂單與訂單明細的例子便屬于一個典型的一對多關系。

需求:本例需要做一個飯館管理客戶小型的點餐系統(tǒng),主要是管理客戶訂單。

誤區(qū):對于面向?qū)ο缶幊陶Z言的初學者來說建模時可能會定義一個訂單對象包含訂單編號,訂單日期,訂單人數(shù),所定菜名,份數(shù),價格等屬性的一個對象。

正解:此處應分為兩個對象,一個訂單對象(訂單號,人數(shù),日期,等)一個訂單明細對象(所定菜名,份數(shù),價格等)。因為一個對象與屬性的關系應該是十分緊密的,比如說菜的價格是與菜關聯(lián)的并沒有與訂單存在直接關系。一個客戶(訂單對象)可能會點多個菜(訂單明細對象),這便是我們問題的引入點。

一對多配置方式一、使用jpa注解

首先看一下我們one端,也就是訂單對象端部分代碼

復制代碼
 1 import java.util.Date;  2 import java.util.HashSet;  3<
        
		

網(wǎng)友評論