MySQL's full text searchの機能を、ネイティブクエリを使用せずにJPAを使用して使いたいです。JPAからMySQLのフルテキスト検索を使用する方法
私はネイティブSQLコマンド:FUNCをサポートする機能を持つEclipseLinkを使用しています。ただし、ヘルプの例では、これが単純なMySQL関数でのみ使用されていることを示しています。次のようにMATCH & AGAINSTで動作するように得るために、私のベストエフォート型試みがある:私はFUNCメソッドを使用している他の選択肢に開いてい
Caused by: NoViableAltException([email protected][()* loopback of 822:9: (m= MULTIPLY right= arithmeticFactor | d= DIVIDE right= arithmeticFactor)*])
at org.eclipse.persistence.internal.libraries.antlr.runtime.DFA.noViableAlt(DFA.java:159)
at org.eclipse.persistence.internal.libraries.antlr.runtime.DFA.predict(DFA.java:116)
at org.eclipse.persistence.internal.jpa.parsing.jpql.antlr.JPQLParser.arithmeticTerm(JPQLParser.java:4557)
... 120 more
:
@PersistenceContext(name="test")
EntityManager em;
Query query = em.createQuery("SELECT person FROM People person WHERE FUNC('MATCH', person.name) FUNC('AGAINST', :searchTerm)");
...
query.getResultList();
次の例外を与えます。
私はEJB 3とEclipseLink 2.3.1を使用しています。
はあなたがcreateNativeQueryと試みたことがありますか? – perissf