0
org.datanucleus.store.query.QueryCompilerSyntaxException: Identifier expected at character 12 in "u.username== value"

これが私が実行しようとしているクエリです:

try{
        Query q=em.createQuery("select u from UserJ u where u."+key+"== value");
        q.setParameter("value",value );
        return q.getResultList().isEmpty();
    }
    catch(PersistenceException x)
    {
        System.out.println(x.getLocalizedMessage());}
    finally{    
        em.close();
    }

ここで、keyは値によって渡されます:"username"

そしてvalue値によって渡されます:"test"

4

1 に答える 1

2

構文が正しくありません。代わりに次のクエリを試してください。

Query q = em.createQuery("select u from UserJ u where u."+key+" = :value");
于 2013-02-20T14:29:17.400 に答える