我在 mysql 上使用这个查询(tbl1 中的每条记录都有 tbl2 中的记录列表):
select tbl1.id, tbl2.id from parenttable1 tbl1 join childtable2 tbl2 on tbl1.id = tbl2.tbl1Id
结果是真的,但是当我在我的应用程序中将它用作本机查询(javax.persistence.EntityManager#createNativeQuery())时,tbl2.id 会重复。问题是什么?
结果是这样的:
id id
11 1
11 1
22 3
33 4
44 5
44 5
44 5
但我希望:
id id
11 1
11 2
22 3
33 4
44 5
44 6
44 7
我的代码是这样的:
List<MyDTO> foundList = (List<MyDTO>) entityManager.createNativeQuery("the query above",
MyDTO.class).getResultList();