效能非常差,不建議使用
如果要使用,建議使用雙向的多對一,一對多
**配置
必需使用介面宣告
可以使用list(有序允許重複)或者set
一定要指定外來鍵(否則會出現中間表)
@onetomany
@joincolumn
(name =
"dir_id"
)private list
products =
newarraylist
<
>()
;
雙向配置的表結構和單向是完全一樣的
盡量使用多方來維護關係(效能好)
外來鍵在哪邊,哪邊就是多方(也方便維護)
prdocut(多方)
@entity
@table
(name =
"product"
)public
class
product
prdocutdir(一方)
@entity
@table
(name =
"productdir"
)public
class
productdir
級聯很危險,不要隨便使用
組合關係(單據)必需使用級聯
要使用就是使用最強級聯: cascade = cascadetype.all,orphanremoval = true
**配置
@entity
@table
(name =
"productdir"
)public
class
productdir
一定要自己去控制中間表的表名與列名
正常操作都沒有問題(盡量不要使用級聯)
雙向保證表名列名是一致的
/**
* @jointable:對中間表進行設定
* name = "t_user_role":中間表的名稱
* joincolumns = @joincolumn(name = "user_id"):修改當前表對應的列名
* inversejoincolumns = @joincolumn(name = "role_id"):對面那張表的列名
*/@manytomany
@jointable
(name =
"t_user_role"
,joincolumns =
@joincolumn
(name =
"user_id"
),inversejoincolumns =
@joincolumn
(name =
"role_id"))
private list
roles =
newarraylist
<
>()
;
@entity
public
classqq{
@id@generatedvalue
private long id;
private string number;
// 一對一,乙個qq號碼對應乙個qq空間
@onetoone
"qq"
)private qqzone zone;
}
qqzone:從表
@entity
public
class
qqzone
{@id
@generatedvalue
private long id;
private string name;
// 一對一,乙個qq空間輸入乙個qq號碼
// 預設值optional = true表示qq_id可以為空;反之。。。
@onetoone
(optional =
false
)// unique=true確保了一對一關係
@joincolumn
(name =
"qq_id"
, unique =
true
)private qq qq;
}
單向多對一,一對多,雙向多對一,一對多,表結構完成一樣
單向一對多效能差(不用)
宣告的時候都用介面
集合先new出來(以免以後**麻煩)
jpa,集合預設懶載入
想要效能好,先一後多
先配置單向(業務需要再配置雙向)
不要在tostring()列印關連物件,互相呼叫容易記憶體溢位
*開課第四天
今天是開課的第四天,老師又講了很多知識 1 位運算 位運算的效能高,但是理解比較困難。1 按位與,兩個都是一才為一,兩個不一樣就為零。2 按位或,只要有乙個是一就是一。3 異或,不同為一,乙個數和另乙個數異或倆次還是它自己,乙個數和自身異或結果是零,乙個數和零異或結果還是它本身。對稱加密,解密。4 ...
華為第四天
在第三天晚上下班的時候,終於搞定了第乙個專案內容,即使再簡單,我也勝利的喜悅,很欣慰,自己完成了乙個小小的任務,雖然比較簡單的乙個需求。在這種興奮的心情下,我結束了我第三天實習,我想生活始終要抱有一定的態度,是付出又收穫的喜悅,讓我們每個人都保持這種喜悅,來開始每一天的工作。第四天開始的時候,我先去...
黑馬第四天
1.文字類的塊級元素比如p和h1 h6標籤裡面不要放塊級 只有文字才能組成段落,因此p裡面不能放塊級元素,同理還有這些標籤h1,h2,h3,h4,h5,h6,dt,他們都是文字類塊級標籤,裡面不能放其他塊級元素。2.鏈結裡面不要在放鏈結 3.行內元素裡面只能容納文字或其他行內元素 a特殊,a裡面可以...