【问题标题】:Error generated in Hibernate Query for one specific property在 Hibernate Query 中为一个特定属性生成错误
【发布时间】: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。

知道出了什么问题吗?

【问题讨论】:

    标签: java mysql sql hibernate


    【解决方案1】:

    将“属性”更改为“选项”。似乎属性是底层查询构建库中的保留字

    【讨论】:

      猜你喜欢
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 2020-04-02
      • 1970-01-01
      • 2011-07-20
      • 1970-01-01
      相关资源
      最近更新 更多