如何将@添加到postgres hibernate方言?

时间:2013-07-26 04:11:01

标签: hibernate postgresql full-text-search hql

我们有一个使用GIN索引的全文搜索的原生查询:

CREATE INDEX idx_column1 ON table1 USING gin (to_tsvector('english', column1));

SELECT *
FROM table1
where to_tsvector('english', column1) @@ to_tsquery('searchedText')

但是,我们无法在HQL中复制此查询,因为符号@上的hibernate错误。 如何在hibernate方言中添加符号@?

1 个答案:

答案 0 :(得分:2)

您可以在this link找到该链接,该链接会引导您:

  • 认识到SQLFunctions必须返回一个值并在使用时 HQL必须采用表达式形式(例如,fts(body,'dog')= true - fts(body,'dog')在HQL中不起作用)
  • 为PG FTS创建一个Hibernate SQLFunction;和
  • 记住表达式“to_tsvector(body)@@ to_tsquery('dog')” 评估为布尔值