看板 java 關於我們 聯絡資訊
※ 引述《powerjj (ya)》之銘言: : 才剛開始接觸hibernate,正在瞭解了其中一些東西的意義 : 但是我還是搞不懂inverse到底是在做什麼="= : 查了好久網路的說明,似乎使用在雙方"同時"進行連動時, : 將主從連動的關係反過來,像是一對多的情況改成多對一... : 但我不太清楚這到底有什麼意義@@? : 所謂連動不就是雙方都會在內值變化時影響到對方嗎? : 那這樣從哪個方向有什麼關係嗎? (inverse 該是 JPA annotation 裡面 mappedBy 的意思吧?) 關係在於每個 relationship 都應該只有一個 mapping 不然的話, 假設 A -> B 是 1-m, 以一個 A 裡面的 List<B> 代表, 而 B->A 是 m-1, 以 B 裡面的 A refernce 代表. 各自做 mapping 的話, 要是搞一輪 update 後, 在 a1 裡的 List<B> 有 b1 的存在, 但 b1 裡的 A ref 指向的是 a2, Hibernate 究竟該信哪一邊? 所以只該以一邊作準, 而另一邊則標記為 inverse. : 另外我還想請問all-delete-orphan和delete-orphan的意思... : 我搞不清楚為什麼還有有這兩個,原本的save-update , delete , all : 三個不就已經涵蓋所有動作了? : 那這兩個orphan到底能有什麼驚人之舉呢= =? delete-orphan 會把沒有人 refer 的entity 自動 delete. 不然的話, 以前用 cascade all 只是會把 relationship 刪 走, 東西還是在... : 網路上的說明我也看了超多的,但大概是程度太差了還不太能理解... : 拜託hibernate前輩請指導一下吧...萬分感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.238.156.185
powerjj:喔喔感謝@@先推再來仔細看看 03/14 21:21