1

MSSQL 2008 EclipseLink 2.3.0 JPA 2.0

MSSQLの全文検索機能を使用するためにJPQLクエリを作成しようとしています。

FUNC中毒性のEclipseLink関数は戻り値を期待するため[1]動作しないことがわかっているので、MSSQL freetext[2]は実際には関数ではなく、関数[3]のように見える魔法の述語です。 [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 right = attribute)])]ルート原因NoViableAltException(83 @ [() 383:9のループバック:(d = DOT right = attribute)*])

ここで、行5、列7は、SQLキーワードの後の最初の開き括弧の周りにあります。

多くの1対多の関連クラスで結合を記述しないという利点を利用したいので、ネイティブSQLを避けようとしています。

SQL特殊関数を使用する正しい方法は何ですか?

[1] JPAからのMySQLの全文検索の使用方法

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

[3] Hibernate + MSSQL+Containsによる全文検索

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

4

1 に答える 1

1

EclipseLinkのSQL演算子は、EclipseLink2.4の新機能です。これには、EclipseLink2.4マイルストーンまたはナイトリービルドを使用する必要があります。

2.4を使用できない場合は、ネイティブSQLクエリを使用できます。

http://www.eclipse.org/eclipselink/downloads/milestones.php

于 2012-04-26T13:05:19.390 に答える