jpa mysql去重复查询_JPA 查询Distinct多对一示例
时间: 2024-02-18 16:00:24 浏览: 97
Spring Data JPA 实现多表关联查询的示例代码
好的,针对你的问题,我可以给出以下代码示例供你参考:
假设有两个实体类,一个是订单(Order),另一个是客户(Customer),每个订单都对应一个客户:
```java
@Entity
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String orderNumber;
@ManyToOne(fetch = FetchType.EAGER)
private Customer customer;
// getters and setters
}
@Entity
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
// getters and setters
}
```
现在我们想查询所有订单对应的不同客户,可以使用以下 JPQL 语句:
```java
TypedQuery<Customer> query = entityManager.createQuery(
"SELECT DISTINCT o.customer FROM Order o", Customer.class);
List<Customer> customers = query.getResultList();
```
这里使用了 DISTINCT 关键字来去掉重复的客户,同时查询语句中通过 o.customer 来指定查询订单对应的客户。
希望这个示例对你有所帮助!
阅读全文