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 中被破坏。这是问题128:位置参数不起作用(JPQL)。解决方法:使用命名参数。

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