2
有沒有辦法在會話工廠(配置)級別添加單個標準,這將適用於全部 entites用ret會議? 我們有一個要求,不要從我們的數據庫中刪除任何行,但要「標記」刪除的實體,以便它們不會參與任何進一步的操作。休眠全球過濾標準
我知道我們可以通過一個通用接口(例如一個共同的基礎Dao對象)來檢索所有的實體,但是採用全局過濾的方法不太容易出錯,因爲它不需要使用這個常見的知識接口。
有沒有辦法在會話工廠(配置)級別添加單個標準,這將適用於全部 entites用ret會議? 我們有一個要求,不要從我們的數據庫中刪除任何行,但要「標記」刪除的實體,以便它們不會參與任何進一步的操作。休眠全球過濾標準
我知道我們可以通過一個通用接口(例如一個共同的基礎Dao對象)來檢索所有的實體,但是採用全局過濾的方法不太容易出錯,因爲它不需要使用這個常見的知識接口。
The Hibernate Documentation詳細闡述了這一點。它看起來像處理這個最好的方法是過濾器。
首先,你在一個類或者集合定義fitler像這樣:
<filter-def name="IsDeletedFilter">
<filter-param name="IsDeleted" type="bool"/>
</filter-def>
然後你把它連接到一個類或者集合:
<class/set ...>
...
<filter name="IsDeletedFilter" condition=":IsDeleted = Is_Deleted"/>
唉,你必須對每個你想要軟刪除的課程做這個。但是你可能能夠映射出一個基類SoftDeleteEntity
並且每個子類層次結構都有一個表。
我也看到一些人聲稱能夠與聽衆做到這一點,但我不知道如何。