如何向存储库中的所有查询添加额外的参数

时间:2018-09-17 07:38:55

标签: spring spring-repositories

我让系统根据方法名称创建查询:

public interface CompanyRepository extends JpaRepository<Company, Long> {
Boolean existsByName(String name);
Boolean existsByRegCode(String regCode);
}

对于不同的实体(公司,用户,商店)有几种不同的存储库,它们都有名为CountryId的字段。

现在,我需要在所有存储库中的所有查询中添加条件“ AND CountryId =:CountryId”,其中country参数从某个配置文件中获取其值。

我知道我应该为此构建一些基类并从中进行扩展,但无法弄清楚该类中应该放入什么。

1 个答案:

答案 0 :(得分:0)

您可以为所有实体定义一个超类,并将countryId字段添加到该超类中,并用@Where(clause = "countryId='id'")进行注释

@Where(clause = "countryId='id'")
public class Entity {...}

public class Company extends Entity {...}