我正在尝试在休眠中将 FullTextFilters 添加到我的 FullTextQuery 并且只有方法FullTextFilter.setParameter(String name, Object value)
我正在尝试制作一个灵活的通用函数,以根据其搜索的实体向查询添加过滤器,有些有一个参数,有些有两个用于过滤器,所以我想添加一个方法FullTextFilterImpl
;setParameters(String[] names, String[] value)
我可以传入所有参数的名称,可能还有每个参数的值的多维数组,以转换我当前的代码
If( "checking which entity it is"){
fullTextQuery.enableFullTextFilter("FilterName").setParameter("firstFilter", "val1").setParameter("secondFilter", "val2");
}
else if("this entity's filter only has one parameter"){
fullTextQuery.enableFullTextFilter("FilterName").setParameter("firstFilter", "val1");
}
我尝试创建 FullTextFilterImpl 的子类并在其中放入一个setParameters
函数,但是设置此代码的方式我不确定如何将其用作FullTextQuery.enableFullTextFilter(filterName)
返回FullTextFilter
对象,然后您调用该setParameter()
对象。我不确定我将如何在其中做一个setParameters
编辑:我已经下载了休眠搜索源代码并将以下方法添加到 FullTextFilterImpl 我认为它会做我想要的,但是当我去构建它时(即使只是开箱即用的项目)我得到了所有这些检查样式Only one new line is allowed at the end of a file
错误。休眠快速构建指南中是否缺少我的东西。
public FullTextFilter setParameters(Map<String, List<String>> params){
for (String key : params.keySet()) {
List<String> values = params.get(key);
for(int i=0; i< values.size() ; i++){
parameters.put(key, values.get(i));
}
}
return this;
}