【发布时间】:2018-05-03 12:20:51
【问题描述】:
我们为我从事的项目制作了一个通用搜索客户端。 它是一个简单的搜索插件,允许我们搜索实体的属性。
例如:
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 )]
如果我在本地数据库上运行生成的查询,当我使用搜索端点时,它会失败。属性是实体上的字符串字段和数据库中的 VARCHAR。
知道出了什么问题吗?
【问题讨论】: