1
Query q = em.createQuery("SELECT u FROM SSUser u WHERE u.emailId=?1")
    .setParameter(1, email);

これは有効なクエリだと思いましたが、次のようになります。

No results for query: SELECT FROM SSUser u WHERE u.emailId=?1

このクエリを表現する正しい方法は何ですか?

4

1 に答える 1

1

このクエリは正しいですが、位置パラメータは現在 GAE/J で壊れています。これはIssue 128 : Positional parameters don't work (JPQL)です。回避策: 名前付きパラメーターを使用します。

Query q = em.createQuery("SELECT u FROM SSUser u WHERE u.emailId = :email")
    .setParameter("email", email);
于 2010-08-13T04:02:04.467 に答える