在 Java EE 中,JPQL( Java 持久性查询语言)是专门为Java 应用程序访问和导航实体实例设计的。JPQL是EJB2使用的查询语言EJB QL的扩展,它继承了EJB QL并对其做了一些改变。
- 模糊查询realName的member
public List<Member> findByRealName(String realName)
{
if (realName == null)
{
return Collections.<Member> emptyList();
}
String jpql = "select members from Member members where members.realName like :realName";
return entityManager.createQuery(jpql, Member.class).setFlushMode(FlushModeType.COMMIT).setParameter(
"realName", "%" + realName + "%").getResultList();
}
2.统计总数
String jpql = "select count(*) from Member members where lower(members.idCard) = lower(:idCard)";
Long count = entityManager.createQuery(jpql, Long.class).setFlushMode(FlushModeType.COMMIT).setParameter(
"idCard", idCard).getSingleResult();