2012-04-26 62 views
1

MSSQL 2008 的EclipseLink 2.3.0 JPA 2.0MS SQL Server全文搜索JPA和的EclipseLink

我試圖讓一個JPQL查詢使用MSSQL的全文檢索功能。

因爲我們知道FUNC成癮的EclipseLink函數不能正常工作[1],因爲它期望返回值,而MSSQL freetext [2]實際上並不是函數,而是一些看起來像函數的魔術謂詞[3],I我試圖用[4]中提到的下一個強大的功能,SQL

我想這

and SQL('freetext(?, ?)', d.title, :title) 

and SQL('freetext(?, :title)', d.title) 

個以及組合與= 1個結尾

and SQL('freetext(?, ?)', d.title, :title) = 1 

沒有任何成功。它說像

5行,第7列:意外的標記[(] 內部異常:NoViableAltException(83 @ [()* 383回送:9:(d = DOT右=屬性)])]與根源 NoViableAltException(83 @ [()迴環383:9:(d = DOT右=屬性)*])

在第5行,第7列是圍繞SQL關鍵字後的第一個開括號。

我試圖避免原生SQL,因爲我想使用不寫聯接與許多一對多的相關類的優勢

什麼是使用SQL特殊功能的正確方法?

[1] How to use MySQL's full text search from JPA

[2] http://msdn.microsoft.com/en-us/library/ms176078(v=sql.105).aspx

[3] Hibernate + MSSQL + Fulltext Search via Contains

[4] http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/Support_for_Native_Database_Functions#SQL

回答