JPA與Hibernate的刪除

之前在Hibernate3.5以前的舊版本,大概都存在一種 刪除的問題。

就是當物件刪除後呼叫 em.merge() 時,都只會在資料庫的 instance 中,與primary key 設為null然後就算了事了!!…

這樣當然很不好,因為當要被刪除的資料一多,設null的資料也多,當然就形成效能上的問題。

其次,對於JPA和Hibernate 遲遲無法統一Annotation 也是一個非常頭痛的問題。因為當有一天要移植到TopLink的時候,將會導致全部系統重改一遍。

最近,無意之間,竟然發現了 org.hibernate.annotations.CascadeType.DELETE_ORPHAN已經被Deprecated了

因為想看看到底改成了甚麼 ?!!於是竟然發現

@OneToOne(orphanRemoval=true) or @OneToMany(orphanRemoval=true)
也就是說,未來其實只要設定 orphanRemoval=true 就可以代替 CascadeType.DELETE_ORPHAN 了!!….

實在是太方便了!!

 

廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s