我正在尝试在休眠状态下将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()编辑:我已经下载了休眠搜索源代码,并将以下方法添加到FullTextFilterImpl中,我认为它将完成我想做的事,但是当我构建它时(甚至只是现成的项目),我得到了所有这些checkstyle setParameters错误。休眠快速构建指南中缺少我需要的内容吗?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;} 最佳答案 您可以轻松地将属性映射传递到自定义过滤器,签名为:FullTextFilter setParameter(String name, Object value);所以你可以做filter.setParameter( "myMap", properties );其中properties是一个哈希图。关于编译错误消息:  文件末尾仅允许换行是来自checkstyle的消息,它验证代码样式是否符合Hibernate代码样式。修复非常简单:源文件末尾有多个空行,请将其删除。该错误信息应告诉您需要抛光哪些文件。关于java - 如何编辑Hibernate Search Java源代码,或者解决方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19572840/
10-10 16:23