当前位置: 首页 > 面试题库 >

如何使用Hibernate为Spring数据JPA的所有查找方法添加全局where子句?

崔棋
2023-03-14
问题内容

我们正在使用带有Hibernate的Spring数据JPA的Web应用程序。

在应用程序中,每个实体中都有一个compid字段。这意味着在每个数据库调用(Spring Data方法)中都必须使用compid进行检查。

我需要一种方法,这个“ where compid =?” 检查为每种查找方法自动注入。这样我们就不必专门为compid检查而烦恼。

通过Spring Data JPA框架可以实现吗?


问题答案:

也许Hibernate的注释@Where会为您提供帮助。它将传递的条件添加到与该实体相关的任何JPA查询中。例如

@Entity
@Where(clause = "isDeleted='false'")
public class Customer {
    //...
    @Column
    private Boolean isDeleted;
}


 类似资料:
  • 我正在为我的Web应用程序使用Spring MVC和HiberNate。我正在寻找一种方法来创建一种全局Hibernate过滤器,该过滤器将应用于我的DAO类中的每个查询,而不必在每个DAO方法中显式启用它。 要求按用户选择的会话变量过滤记录。因此,我们的查询参数将保存在会话中,该会话中的所有DAO查询都需要通过该变量过滤结果。这里的目的是避免每个DAO方法中的所有可重复过滤代码。 欢迎任何想法!

  • 我们正在使用Spring boot+Spring data JPA和Hibernate开发一个多租户web应用程序。 多租户是通过拥有一个组织表来实现的,该表作为外键连接到几乎每个表上。这意味着每个DB调用(Spring Data repository查询方法)都必须用组织ID进行检查。 谢谢你抽出时间。

  • 问题内容: 我有一个简单的Java类,其中包含一些方法: 我想创建此类的实例,并允许Javascript代码直接调用方法,如下所示: 我目前只能弄清楚的唯一方法是使用 然后在Javascript代码中使用。我还可以使用Javascript为每个方法编写包装器函数,但是应该有一种更简单的方法来自动为类的所有公共方法执行此操作。 问题答案: 我对Rhino并不是很熟悉,但是这样的方法应该可以工作: 只

  • 问题内容: 关于我之前的问题,我想确保所有子对象都已加载,因为我有多个线程可能需要访问数据(从而避免延迟加载异常)。我知道执行此操作的方法是在查询(EJB QL)中使用“fetch”关键字。像这样: 假设模型中包含一个类。 我的问题是,似乎需要“ distinct”关键字,否则我似乎会为每个关键字找回一个。我做对了吗? 也许更重要的是,是否有一种方法可以拉入所有子对象,无论深度如何?我们大约有10

  • 我需要确定一个实体是否已经被持久化。不幸的是,我没有这个id,但是如果实体的其他六个字段的值与一个持久化的实体相匹配,我可以确定实体已经持久化了。我正在使用Spring JPA存储库,并且知道我可以执行以下操作: 有没有类似的方法:

  • 问题内容: 我有这样的查询- 由于将rowz = 1放入查询中,因此该查询无法正常工作?如果我只想要在嵌套后rowz = 1的结果该怎么办。 当我这样做时- 从news_article中选择unnest(string_to_array(na.news_category_id,’,’)):: int rowz; 我的桌子是- 然后它给了我这个结果- 问题答案: 这回答了您的问题: 诀窍是将数组放入一