2017-01-31 7 views
-1

これはSQLで正しく動作しているクエリです。しかし、私はjavaコードでそれを破棄しています。私はここを参照してくださいREGEXP in java code

SELECT * FROM faq WHERE question REGEXP 'general' 

私のJavaコード

List<Object[]> results = getBaseDao().findByNativeSql(nativeSqlForSearch.toString(), 0,0); 

StringBuilder nativeSqlSerach = "Select f from faq f where f.question REGEXP 'general' " 
+0

文字列に対して 'toString()'を呼び出す必要はありません。 –

+0

'findByNativeSql'コールの2つのゼロは何を意味していますか? –

+0

まだ私はエラーが発生しているREGEXPはJavaで使用することができますか? –

答えて

1

一部のエラークエリ構文の例外を示します。

  1. あなたは異なる変数を使用している:

    nativeSqlSerach 
    

    nativeSqlForSearch 
    
  2. あなたはStringBuilderオブジェクトとして文字列を使用しています。これはちょうど間違っています、なぜ私はそれがコンパイルに失敗しないのだろうかと思います。後でtoString()

    StringBuilder nativeSqlSerach = new StringBuilder("Select f from faq f where f.question REGEXP 'general'"); 
    

    、またはtoString()なし

    String nativeSqlSerach = "Select f from faq f where f.question REGEXP 'general'"; 
    

    を使用しますか。

  3. 単純な問題を投稿したかどうかはわかりませんが、上記の場合、REGEXはまったく必要ありません。 =またはLIKEのワイルドカード表記を使用してください。