【发布时间】:2012-03-18 06:54:47
【问题描述】:
我的目标是将 MSSQL 全文函数与 HQL 一起使用。在什么情况下,我编写了一个特定的 SQLFunction,将我的“全文”函数映射到包含函数。
但是,问题在于,在 HQL 中(似乎)我必须明确使用返回类型,而 MSSQL Contains 函数不使用或不接受该类型。
这就是它在 MSSQL 中的工作方式:
select distinct id from content c where CONTAINS(c.content, 'p')
这是我在 HQL 中使用它的想法:
select id from Content c where fulltext(c.content, 'p')
这不起作用,因为 HQL 需要返回类型。例如,这将在 HQL 中解析:
select id from Content c where fulltext(c.content, 'p') = true
它会生成为 SQL:
select distinct id from content c where CONTAINS(c.content, 'p') = 1
这在 MS SQL 中不起作用。
我的想法到目前为止,但在此设置中似乎不可能:
- 制作没有返回值的休眠解析函数(在我使用的版本中休眠不支持此功能)
- 尝试混合使用 HQL 和 SQL(似乎也不起作用)
有人有其他想法或帮助吗?
我使用的 Hibernate 版本是 3.2.6ga 和 MSSQL Server 2008。
【问题讨论】:
标签: sql-server hibernate hql full-text-search