1

我有简单的(H)SQL 查询:

SELECT f 
FROM Factory f 
LEFT JOIN FETCH f.products p 
LEFT JOIN FETCH p.customers 
WHERE f.id = (:id)

但是结果包含多个重复的products对象。我该如何解决这个问题?

请注意:customers并且products是集合,即工厂与产品之间以及产品与客户之间存在一对多关联。

4

1 回答 1

0

这是我的建议。

  1. 将 Factory 内的 Products 属性定义为 Set 而不是 List。
    • 工厂 -> 套装<产品>
  2. 将 Product 内的客户属性定义为 Set 而不是 List。
    • 产品 -> 套装<客户>
  3. 为客户和产品实现了 equals 和 hashCode 方法

这应该能够处理重复项。

于 2016-04-26T06:48:19.947 回答