我在我的 Hibernate 物體類上使用以下注釋
@Table(name="cms_user", schema="public")
@Where(clause = "deleted = false")
public class User {
..
}
所以它不會加載“軟洗掉”的記錄。但是當我作為另一個查詢的一部分獲取這個物體時:
queryRoot.fetch("cmsUser", JoinType.INNER);
不應用此 where 子句,并且洗掉的用戶也是可見的。當然,我可以將它們過濾掉,但我正在尋找一種有效的方法來deleted = false在一個地方設定它,@Where 或其他一些休眠類注釋是一個很好的候選者。
有什么方法可以注釋我的休眠類,以便deleted = false也適用于獲取和連接?
uj5u.com熱心網友回復:
我沒有測驗它,而是嘗試向@Where您加入的物體添加注釋,換句話說,添加到您的@OneToMany注釋中。
@Where(clause = "deleted = false")
@OneToMany(mappedBy = "joinedEntity", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<User> userList;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/347838.html
上一篇:最好使用foroveralist或對資料庫的多次訪問
下一篇:為什么沒有列印正確的陣列值?
