我正在使用GAE的数据存储和JPA持久性框架来存储我的实体。尽管在试图检索某些特定实体时遇到了下面提到的问题。调用我的TypedQuery的getResultList()方法时为什么以下查询不能使用双LIKE子句?
下抛出异常:javax.persistence.PersistenceException: Illegal argument
EntityManager em = Persistence.createEntityManagerFactory("test-persistence")
.createEntityManager();
String q = "SELECT c FROM c TestBord c WHERE c.publiclyAvailible=true
AND c.avarageRating='5'
AND c.user LIKE 'user%'
AND c.nameBord LIKE 'bord%'";
TypedQuery<TestBord> tq = em.createQuery(q, TestBord.class);
List<TestBord> l = tq.getResultList();
也如上所示,这里是我使用的查询:
SELECT c FROM c KvCBord c WHERE c.publiclyAvailible=true
AND c.avarageRating='5'
AND c.user LIKE 'user%'
AND c.nameBord LIKE 'bord%'
它似乎当我使用两个LIKE子句时会中断,任何人对如何解决此问题有任何想法,或者知道如何正确地重写查询?
注意:尽管只有一个LIKE子句可以正常工作。
相关问题:http://stackoverflow.com/questions/47786/google-app-engine-is-it-possible- gql-like-query – victorantunes