Hy all、 私は子供、ペット、おもちゃの3つのテーブルを持っています。 Petには子IDの参照キーがあり、玩具には犬IDへの参照キーがあります。 私は子供と彼のペットに関するすべてのデータをロードしたいのですが、私はおもちゃのセットのため遅延読み込みが動作しません - jpa
@OneToMany(mappedBy = "petEntity", fetch = FetchType.LAZY)
public Set<PetEntity> getPetEntitySet() {
return petEntitySet;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ChildId", insertable = false, updatable = false)
public ChildEntity getChildEntity() {
return childEntity;
}
同じおもちゃのデータをロードする必要はありません。私は
List<ChildEntity> list = entityManager.createQuery(
"SELECT c FROM ChildEntity c "+
"LEFT JOIN FETCH c.petEntitySet ",
ChildEntity.class).getResultList();
return list;
を持っていますが、この事は私にすべてのデータだけでなく、子供の情報と彼のペットをロードし、データをロードする
。私はテーブル内のデータのみをロードするように、と作らないエンティティマネージャを抑制することができることは、私はあなたのアドバイス
ため
感謝することを望んでいないとき、私はそれを言及するのを忘れてしまった加入方法
このチェースはすべてのデータを読み込むだけでなく、子要素のコピーを1つ以上返します。
で
DISTINCT
を追加しますか? – axtavt