Hibernate - 獲取時應用@Where

邁克爾·雅庫貝齊

我在我的 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也適用於獲取和連接?

星系

我沒有測試它,而是嘗試向@Where您加入的實體添加註釋,換句話說,添加到您的@OneToMany註釋中。

@Where(clause = "deleted = false")
@OneToMany(mappedBy = "joinedEntity", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<User> userList;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用pandas apply函數時如何獲取應用元素的索引?

okta 對應用程序進行身份驗證時如何獲取會話

Hibernate merge where子句

Hibernate Criteria multiple where

用Hibernate映射数组

獲取特定時間段內生成的 AppSync 請求總數 | 亞馬遜 | 應用同步

在 C# 控制台應用程序中獲取配置文件參數時出錯

使用 Azure 邏輯應用程序添加或修改 blob 時如何獲取上傳文件的文件名?

在 Activity 的 attachBaseContext 方法中獲取應用程序

Hibernate UniqueResult已弃用

用Hibernate映射PostgreSQL数组

Hibernate是否已弃用?

當我嘗試從 Bluehost 獲取數據以響應網站應用程序時,URL 被阻止(Access-Control-Allow-Origin - Missing Header)

实施Hibernate Search后,Hibernate Criteria弃用警告

為什麼在 Java 應用程序中使用 JPA Hibernate Metamodel 類?

在 App Engine 上部署了 Hibernate 的 SpringBoot 應用程序無法連接到 Cloud SQL

在 Spring Boot 中工作時,如何在 xml 定義中獲取我的應用程序上下文

獲取 Web 應用程序腳本創建者的用戶

從 mysql 觸發器獲取應用程序登錄用戶

用於獲取 AKS POD 新 IP 的應用程序網關

@Where与@SecondaryTable不适用于Hibernate

Hibernate CriteriaQuery where-ManyToOne字段

在Hibernate 4.3.4中覆盖@Where子句条件

带有@Where子句的Hibernate @OneToOne映射

@Synchronize在Hibernate中有什么用

弃用org.hibernate.dialect.PostgreSQLDialect

用Hibernate做一个“ IN”查询

用Hibernate映射FunctionalJava Option <Type>

Hibernate 5.4 PostgisDialect 已弃用?