繁体   English   中英

如何在JPA中使用where子句

[英]How to use where clause in jpa

我有一个查询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";

可以使用以下代码段实现:

    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​​的更多信息,请参见此处

可以使用以下代码段实现:

 Query query = entityManager.getCriteriaBuilder().createQuery("from UploadedFile fm where sm.someField=:arg1");
    query.setParameter("arg1", arg1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM