簡單的說些關於@onetomany 自己理解的知識:
/*** 這裡還有注意onetomany預設的載入方式是賴載入。當看到設定關係中最後乙個單詞是many,
* 那麼該載入預設為懶載入
*/@onetomany(cascade = ,fetch =fetchtype.eager)
@joincolumn(name="adviceid")
簡單的一對多查詢,如果是第三方表建立的關係,只需要乙個@onetomany就行了,例如:
@entitypublic
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,都是立即載入,會額外傳送一條查詢語句。原因是,含有外來鍵的一方可以根據外來鍵判斷是否為...