【发布时间】:2014-02-23 02:50:36
【问题描述】:
我正在使用 GAE 的数据存储和 JPA 持久性框架来存储我的实体。虽然在尝试检索某些特定实体时遇到了下面提到的问题。
在我的 TypedQuery 上调用 getResultList() 方法时抛出以下异常: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 子句就可以正常工作。
【问题讨论】:
标签: java google-app-engine jpa persistence google-cloud-datastore