jpa查询distinct
时间: 2023-08-23 14:16:43 浏览: 171
JPA中查询distinct可以使用JPQL(Java Persistence Query Language)或者使用Criteria API来实现。下面分别介绍这两种方法。
1. 使用JPQL:
可以在JPQL查询中使用DISTINCT关键字来获取去重后的结果集。例如:
```java
String jpql = "SELECT DISTINCT e FROM Employee e";
TypedQuery<Employee> query = entityManager.createQuery(jpql, Employee.class);
List<Employee> distinctEmployees = query.getResultList();
```
2. 使用Criteria API:
可以使用Criteria API的distinct方法来实现去重查询。例如:
```java
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
CriteriaQuery<Employee> criteriaQuery = criteriaBuilder.createQuery(Employee.class);
Root<Employee> root = criteriaQuery.from(Employee.class);
criteriaQuery.select(root).distinct(true);
List<Employee> distinctEmployees = entityManager.createQuery(criteriaQuery).getResultList();
```
这些代码示例假设有一个名为Employee的实体类,你可以根据你的实际情况进行调整。希望能帮到你!
阅读全文