我想写一个 select 语句,但不知道如何写 where 子句...
我的代码:
CriteriaQuery query = entityManager.getCriteriaBuilder().createQuery();
query.select(query.from(SecureMessage.class)).where();
这是在我向其传递字符串的方法中。我只想获取与我传递给方法的字符串值匹配的行。
最佳答案
在 Criteria 中是这样的:
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<SecureMessage> query = cb.createQuery(SecureMessage.class);
Root<SecureMessage> sm = query.from(SecureMessage.class);
query.where(cb.equal(sm.get("someField"), "value"));
在 JPQL 中:
Query query = entityManager.createQuery("Select sm from SecureMessage sm where sm.someField=:arg1");
query.setParameter("arg1", arg1);
看, http://en.wikibooks.org/wiki/Java_Persistence/Querying#Criteria_API_.28JPA_2.0.29
关于java - JPA 选择带有 where 子句的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5136366/