我们已经在我工作的项目上做了一个通用的搜索客户端。它是一个简单的搜索插件,允许我们搜索实体的属性。
前任:
public class Movie {
private String id;
private String director;
private String title;
//set-getters
}
如果我们需要找一部特定的电影,我们可以做如下事情:
movie.title='some title'
movie.title='some title' and director='bob'
如果在某个时间点我们添加一个属性x。我们可以做到:
movie.X='Y'
我们的搜索解决方案中没有任何代码更改。
这对我们来说(对于基本搜索)非常有效,但是现在我遇到了一个问题。我们的一个实体有一个名为“properties”的属性,当我们试图搜索这个属性时,会抛出一个错误。。
"org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: generatedAlias1 near line 1, column 149 [select generatedAlias0 from N as generatedAlias1, S as generatedAlias0 where ( N.properties is null ) and ( N.id=S.node )]
如果我在本地数据库上运行生成的查询,当我使用搜索端点时,它会失败。properties是实体上的字符串字段,varchar在db中。
知道哪里出了问题吗?
1条答案
按热度按时间zsohkypk1#
将“属性”更改为“选项”。。似乎属性是基础查询构建库中的保留字