hibernate多對多,多對一對映時用set,bag,list,array時有什麼區別?
Set對應於java.util.Set介面,表示一個沒有重複元素的集合。
怎樣區別重複元素?這就涉及到物件的同一性。我們知道在資料庫中,我們用主鍵來區分每一條記錄,在Java的物件世界中,我們是用Object.equals()方法來區分是否是等價的物件。
set保證,在這個集合中,沒有重複的物件。即,沒有任何物件之間用equals比較返回true。如果我們正確地覆蓋了entity類中的equals方法,我們就能保證在set對映中,set沒有重複物件。
bag沒有對應語義的JDK介面,它對應的是java.util.Collection介面,它表示一個可以有重複元素的集合。
list對應JDK的java.util.List介面,可以有重複元素。
array對應物件陣列,Hibernate也不建議使用。
除了上面的集合類,還有一個map對映,對應java.util.Map,當然語義上說就是值名對。
相關推薦
hibernate多對多,多對一對映時用set,bag,list,array時有什麼區別?
簡單的說,這些集合類除了bag,都有其對應的JDK中介面的語義。它們都可以表示一對多或多對多。 Set對應於java.util.Set介面,表示一個沒有重複元素的集合。 怎樣區別重複元素?這就涉及到物件的同一性。我們知道在資料庫中,我們用主鍵來區分每一條記錄,在Java的物件世界中,我們是用Object.eq
MyBatis中多對一對映時,執行sql語句的寫法
情境再現: 在使用MyBatis來進行多對一對映時,出現了sql語句中某個屬性為空的現象 <!-- 增加 地址資訊--> <insert id="insertAddress" par
梯有N階,上樓可以一步上一階,也可以一步上二階。編寫一個程序,計算共有多少中不同的走法?
技術 告訴 不同的 mis misc 技術分享 blog main print c語言實現,小夥伴們誰要有更好的實現方法,要告訴我呦 #include int main(void) { int f,i,f1=1,f2=2; printf("請輸入樓梯數"); scanf(
下列給定程序中函數fun的功能是:用下面的公式求π的近似值,直到最後一項的絕對值小於指定的數為止,π/4=1-1/3+1/5-1/7+...,例如,程序運行後,輸入0.0001,程序輸出3.1414
print fab stdio.h 運行 return printf main blog 程序 #include <math.h> #include <stdio.h> float fun ( float num ) { int s
一款好用的內網穿透工具,拯救沒有公網IP的你
內網穿透 網絡通 越來越多的用戶沒有自己的獨立公網IP,在發布一些應用或者網站到外網的時候就是一件很麻煩的事情。請註意,我說的獨立公網IP並不是說一定要靜態公網IP。撥號上網動態IP也不一定不可以。我們要的就是網關出口一定要是公網IP,假如你的網關路由器WAN口是一個內網IP肯定不行。說明一點,ipv
node.js (感覺很好,雖轉載一留後用)
關於node.js Node.js 是伺服器端的 JavaScript 執行環境,它具有無阻塞(non-blocking)和事件驅動(event-driven)等的特色,Node.js 採用V8引擎,同樣,Node.js實現了類似 Apache 和 nginx 的web服務,讓你可以通過它來搭
No.23 經典筆試題(一):用巨集來計算偏移量,判斷大小端(聯合體法,指標法)
寫一個巨集,計算結構體中某變數相對於首地址的偏移,並給出說明 判斷大小端 程式碼1: //寫一個巨集,計算結構體中某變數相對於首地址的偏移,並給出說明 //定義的這個巨集將結構體裡邊的變數的地址取出後再強轉成char型,然後進行相減。 //注意:&s ==
酷課堂iOS交流群,聚集了一群熱愛技術、有趣、有料,平均Q齡在10年以上的“老司機”,他們遍佈在全國
新書即將上市: 這兩天收到出版社的樣書,預計這兩週將陸續開始上架,感興趣的小夥伴,到時可在天貓、噹噹、京東搜尋“李發展”即可找到。 &nb
酷課堂iOS交流群,聚集了一群熱愛技術、有趣、有料,平均Q齡在10年以上的“老司機”,他們遍布在全國
www. 同步 翻譯 技巧 failed touch 增強現實 -a 你們 新書即將上市: 這兩天收到出版社的樣書,預計這兩周將陸續開始上架,感興趣的小夥伴,到時可在天貓、當當、京東搜索“李發展”即可找到。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 本書內容簡
懶妹子,第一次開始想寫部落格,有那麼一丟丟小激動呢 ememem--進入正題,分享關於個別iphoneX輸入框失去焦點的bug
近來iphone新機鋪面而來,作為一個自己沒有iphone最新機的小前端,也只有羨慕的份啦,不過呢程式碼還是要碼的,新機的bug還是要改滴,iphone x系列包括xs xr,當input獲取焦點後鍵盤彈起,頁面隨著鍵盤向上滑動,一切正常,然鵝,當輸入完,點選手機鍵盤自帶的完成按鈕,或者是你要進入下一步操作,
chrome用的好好的,然後忽然一開啟就跳轉到hao123的介面,就這樣一下子兩個標籤頁。
試過了各種:從google chrome裡面設定主頁、去掉快播設定裡“設快播導航網址作為主頁”等等都沒有效。最後神一般的搜尋整個電腦裡所有位置的google chrome快捷方式才發現,在“C:\Users\使用者名稱字\AppDara\Roaming\Microsoft
MyBatis之自定義對映規則(連線查詢,需要修改對應對映時使用)
自定義對映規則:即自己定義資料庫與Bean物件的對映規則,不再使用預設Bean物件與記錄同名規則,即每個資料庫 的屬性都可以決定它對映到哪個類的哪個屬性, 所以操作標籤(如<select>)的resultT
java_正則簡單介紹,正則匹配頁面時經常會遇見各種不匹配,下面是我copy過來的一些正則語法嘗試和一些常用正則表示式
正則表示式語法 一個正則表示式就是由普通字元(例如字元 a 到 z)以及特殊字元(稱為元字元)組成的文字模式。該模式描述在查詢文字主體時待匹配的一個或多個字串。正則表示式作為一個模板,將某個字元模式與所搜尋的字串進行匹配。 這裡有一些可能會遇到的正則表示式示例: Visual
邏輯斯蒂迴歸能否解決非線性分類問題? 邏輯斯蒂迴歸提出時用來解決線型分類問題,其分離面是一個線型超平面wx+b,如果將這個超平面改成非線性的,如x1^2+x2=0之類的非線性超平面來進行分類,是否也可
邏輯迴歸的模型引入了sigmoid函式對映,是非線性模型,但本質上又是一個線性迴歸模型,因為除去sigmoid對映函式關係,其他的步驟,演算法都是線性迴歸的。可以說,邏輯迴歸,都是以線性迴歸為理論支援的。 這裡講到的線性,是說模型關於係數一定是線性形式的 加入sigmoid對
手機遊戲選擇英雄時用單手指控制英雄旋轉,雙手指控制英雄大小縮放
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Planeouch : MonoBehaviour { //定義兩個(早的)
個人Hibernate筆記:兩張表多對一對映以後,如何查出一表裡面的資料?
專案有兩張表:應用型別表1,應用表2,兩張表已經用Hibernate映射了,之前都是通過型別Id相對應的應用Id,現在要通過應用Id來查詢與之對應的型別Id,如何做呢? 由於之前一直沒有用過這樣的查詢方式,自己胡亂鼓搗以後,終於得出了方法,如下: <% for (int y =
hibernate 關聯關係配置(一對多,多對一)
Hibernate 關聯關係: 1. 什麼是關聯(association) 1.1 關聯指的是類之間的引用關係。如果類A與類B關聯,那麼被引用的類B將被定義為類
Hibernate中多表設計的一對多,多對一的對映檔案的配置
一對多(客戶表與聯絡人表為例): 一對多關係中習慣性的把一方稱為主表,把多方稱為從表,外來鍵指的是從表中有一列,取值參照主表的主鍵,這一列就是外來鍵。 舉例:一方為客戶,多方為聯絡人 在客戶的實體類中需要配置一個set集合,包含多個聯絡人。 private Set<L
hibernate HQL 分頁 關聯查詢(一對多單向,多對一 雙向,多對多)
HQL的 分頁 1.首先我們準備好實體類: package cn.happy.hibernate04pagelist; import cn.happy.hibernate03hql.conEmp; import java.util.Date; /** * Creat
hibernate一對多,多對一詳說
今天做了一個hibernate雙向的一對多多對一的例子。 自我感覺:hibernate配置比較麻煩,出錯了不容易找到。 廢話不多說來一個demo給大家看看 實體類配置檔案位置 圖1 老師實體類 老師實體類配置檔案說明 學生實體類 學生實體類配置說明 hibern