テーブルparent、childがあり、child(as 子1)⇒parent(as 親)⇒child(as 子2) という結合を行った状況において、親がもつ子2リストに子1で取得したEntityが含まれる場合、子1が重複して取得されてしまいます。*To*EntityMapperImpで重複して追加することが原因に思えます。
作成したテーブルは以下です。
create table parent ( id number, name varchar2(20), primary key (id) ); create table child ( id number, parent_id number, name varchar2(20), primary key (id), foreign key (parent_id) references parent (id) ); insert into parent values (1, '親その1'); insert into child values (1, 1, '子その1'); insert into child values (2, 1, '子その2');
実行したメソッドは以下です。
List<Child> childList = jdbcManager.from(Child.class).innerJoin("parent").innerJoin( "parent.childList").id(1).getResultList();
childList.get(0).parent.childList で子その1が重複します。