私は mysql でこのクエリを使用します (tbl1 内のすべてのレコードには、tbl2 内のレコードのリストがあります)。
select tbl1.id, tbl2.id from parenttable1 tbl1 join childtable2 tbl2 on tbl1.id = tbl2.tbl1Id
結果は true ですが、これをアプリケーション内でネイティブ クエリ (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();