我有一个查询Select * from uploadedFile where uid="tesetetesdsfjdsfj";
我想在jpa中写这个查询,我试过这个
CriteriaQuery<UploadedFile> query = em.getCriteriaBuilder().createQuery(UploadedFile.class);
Root<UploadedFile> product = query.from(UploadedFile.class);
return em.createQuery(query)
.setFirstResult(0) // offset
.setMaxResults(10) // limit
.getResultList();
我不知道如何在此查询中添加条件(where uid="tesetetesdsfjdsfj";
)
答案 0 :(得分:1)
可以使用以下代码段来实现:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<UploadedFile> cq = cb.createQuery(UploadedFile.class);
Root<UploadedFile> product = cq.from(UploadedFile.class);
cq.select(product);
cq.where(cb.equal(
// you can replace product.get(UploadedFile_.uid) with product.get("uid")
product.get(UploadedFile_.uid), "tesetetesdsfjdsfj"));
em.createQuery(cq)
.setFirstResult(0)
.setMaxResults(10)
.getResultList();
有关使用API的更多信息,请访问here
答案 1 :(得分:0)
可以使用以下代码段来实现:
Query query = entityManager.getCriteriaBuilder().createQuery("from UploadedFile fm where sm.someField=:arg1");
query.setParameter("arg1", arg1);