今天被hibernate和mysql整了一下,切身感受到索引的重要性。
我用的是hibernate註解的一對多對映,**如下:
@onetomany(cascade=cascadetype.all, fetch=fetchtype.lazy)
@jointable(name="user_followby",
joincolumns=,
inversejoincolumns=)
private listfollowby = new linkedlist();
這裡有一點需要注意的,就是「unique=false」這句。如果沒有這句,則資料庫中生成的庫表user_followby中,其followby_id 欄位會建立相應的唯一索引,然而,這樣很有可能會導致元素無法插入。舉個例子:
當「user_followby」表中存在 (14,1)這條記錄,當你想在插入(10,1)時,系統就會報錯,原因是followby_id欄位建立了唯一索引,但外部試圖向其插入某個記錄時,假如這個記錄對應followby_id的值跟表中原來存在的數值相同,則無法插入。
所以在用註解描述一對多關係時,視具體情況,加上「unique=false」這句。
其實,調bug是一種享受。
hibernate註解一對多 多對一
註解 多對一刪除時 只執行多的一方而一不會改變 新增時考慮 一的一方主鍵是否存在 cascade表示級聯操作 cascadetype.merge級聯更新 cascadetype.persist級聯重新整理 cascadetype.refresh級聯儲存 cascadetype.remove級聯刪除 ...
Hibernate一對多 雙向
hibernate 雙向關聯就是有 一對多 和 多對一 兩個關聯組合而成德,在雙向關聯的兩端都知道對方是誰。下面就開始演示這種關聯。首先定義我們需要使用的pojo物件。public class member public class order 兩個pojo對應的對映檔案分別為member.hbm....
Hibernate一對多對映
一對多使用區縣和街道舉例 街道的實體 private integer jdid 街道的id private string jdname 街道名 private quxian quxian 屬於哪個區縣 區縣的實體 private integer qxid 區縣的id private string q...