1

私は Google Web Toolkit アプリケーションに取り組んでおり、データストアへのアクセスには JPA を使用しています。以下が機能しないことがわかりました。

Query q = manager.createQuery("select x from Question x where x.name=:name");
q.setParameter("name", "ト<br />");
q.getResultList();

これは 0 件の結果を返します。ただし、名前付きパラメーターを使用しないと機能します。

Query q = manager.createQuery("select x from Question x where x.name='ト<br />'");
q.getResultList();

これは正しい 2 つの結果を返します。仮名記号(ト)が関係しているのかもしれませんが、とにかくバグのようです。誰かがこれを経験したことがありますか、それは既知のバグですか、それとも私は何か間違っていますか? 名前付きパラメーターを避けることができたと思いますが、そうではありません。

編集:元のコードには存在しなかった例のタイプミスを削除しました

4

2 に答える 2

0

これを試しましたか:

q.setParameter("name", "ト<br />");

?

パラメータ名に「:」は必要ないと思います。

このドキュメントを読むことをお勧めします。

于 2011-04-03T21:04:52.140 に答える
0

問題はバインディング変数のエンコードです。

エンコーディング構成を確認してください。この側面はデータストアに依存する可能性があります。

さよなら

于 2011-04-02T17:26:48.573 に答える