2011-05-10 146 views
0

是否有添加恢復刪除實體功能的第三方庫?我需要像Hibernate envers這樣的創建實體並在運行時將它們映射到表格中,但要簡單得多!我只需要爲每個實體使用兩張表,這樣當實體被刪除時,它將被移動到另一張表中。休眠恢復已刪除實體

回答

1

也許一個更簡單的方法是永遠不允許從表中刪除任何東西。而只需要有一個deleted INT(1) DEFAULT 0列來指定是否已刪除一行。然後,您可以輕鬆獲取已刪除的所有行/實體的列表,並通過清除deleted標誌來取消刪除任何/所有您想要的內容。

這種方法的好處在於它對ORM不可知。你可以選擇你喜歡的任何想要的lightweight alternative to Hibernate,他們都會很好地使用這種技術。缺點是你必須做一些手動工作來實現反刪除功能。

+0

它效率不高,表可能有1m條目,但只有10個有效實體。另一個問題是當我想刪除實體時,數據庫約束不檢查... – AmirMV 2011-05-12 06:04:33