一對多 等關係對映

2022-03-13 16:41:15 字數 860 閱讀 1205

簡單的說些關於@onetomany 自己理解的知識:

/**

* 這裡還有注意onetomany預設的載入方式是賴載入。當看到設定關係中最後乙個單詞是many,

* 那麼該載入預設為懶載入

*/@onetomany(cascade = ,fetch =fetchtype.eager)

@joincolumn(name="adviceid")

簡單的一對多查詢,如果是第三方表建立的關係,只需要乙個@onetomany就行了,例如:

@entity

public

class

company {

@id@generatedvalue(strategy =generationtype.auto)

private

long id;

private

string name;

@onetomany(cascade = cascadetype.all, fetch =fetchtype.eager)

private listemployee=new arraylist<>();

注意3點,

第一:fetch =fetchtype.eager  設定立即查詢

第二:集合list屬性名要和集合物件名一致, employee;不能用employeelist 等名稱

第三:由於設定的立即查詢,那麼第三方關係表的屬性上如果是column_id的表字段,則必需指定@column(name="column_id")

簡單的一對多查詢,如果只是涉及到二張表的話,需要@onetomany 以及 @joincolumn 註解即可

一對多關係對映

www.jamo123.com public static void main string args 通過這段測試,可以看出fetch的作用 使用get或load方法按主鍵查詢時,如果fetch select 是懶漢式載入,先查詢出城市資訊,當用到省份資訊時,再查詢省份。fetch join 則是...

一對一關係對映

主鍵關聯 兩個關聯的實體在表中具有相同的主鍵值,這個主鍵可只由其中乙個表生成,在另外乙個表中通過對映檔案中使用主鍵的foreign生成機制引用已經生成的主鍵值。student類 public class student public void setcard card card public stu...

一對一關係對映

兩端都需要配置 onetoone,但需要對映外來鍵維護關係的一端,額外新增 joincolumn 屬性。含有主鍵的一方預設是立即載入機制,但可以通過fetch 屬性調整,但是沒有主鍵的一端,無論如何更改fetch,都是立即載入,會額外傳送一條查詢語句。原因是,含有外來鍵的一方可以根據外來鍵判斷是否為...