Har*_*GUL 4 java hibernate jpa
我尝试使用JPA计算行数.我想使用where子句但是我不能.
CriteriaBuilder qb = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> cq = qb.createQuery(Long.class);
cq.select(qb.count(cq.from(MyEntity.class)));
cq.where(); //how to write where clause
return entityManager.createQuery(cq).getSingleResult();
Run Code Online (Sandbox Code Playgroud)
如何设置where子句例如age ="45".提前致谢.
小智 16
jpa 中最好和最简单的方法:
public interface YourEntityRepository extends JpaRepository<YourEntity, Serializable> {
Long countByAgeGreaterThan(Integer age);
}
Run Code Online (Sandbox Code Playgroud)
Buh*_*ndi 10
使用ParameterExpression.注意:未经测试.
CriteriaBuilder qb = entityManager.getCriteriaBuilder();
CriteriaQuery<Long> cq = qb.createQuery(Long.class);
cq.select(qb.count(cq.from(MyEntity.class)));
ParameterExpression<Integer> p = qb.parameter(Integer.class);
q.where(qb.eq(c.get("age"), 45));
return entityManager.createQuery(cq).getSingleResult();
Run Code Online (Sandbox Code Playgroud)
参考.
EntityManagerFactory emf =
Persistence.createEntityManagerFactory("your table name");
EntityManager em = emf.createEntityManager();
// JPA Query Language is executed on your entities (Java Classess), not on your database tables;
Query query = em.createQuery("SELECT count(*) FROM your Classname WHERE ... etc");
long count = (long) query.getSingleResult();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25342 次 |
| 最近记录: |