私は関係が4つのテーブルを持っています。あいうえお。Jpa関係で選択
だから私は選択怒鳴るを書いた:
select NEW org.example.ExtendsA(a,b.name,c.name,d.name)
from A a LEFT JOIN a.bItems b LEFT JOIN a.cItems c LEFT JOIN b.dItems d
order by b.name ASC;
Aはユニークですが、関係はincompletteです。
select NEW org.example.ExtendsA(a,b.name,c.name,d.name)
from A a LEFT JOIN FETCH a.bItems b LEFT JOIN FETCH a.cItems c
LEFT JOIN FETCH b.dItems d order by b.name ASC;
Aがユニークではありません。
と私はこれを試してみました。
オブジェクト定義は次のとおりです。
@Entity
public class A implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
@NotNull
@Size(min = 1, max = 100)
@Column(name = "NAME")
private String name;
@OneToMany(mappedBy = "aId")
private List<B> bItems;
@OneToMany(mappedBy = "aId")
private List<C> cItems;
}
いくつかの関係が空になっているが、nullに関係を持つオブジェクトが必要です。 いくつかのオブジェクトはBとCの間に複数の関係があり、1つのAオブジェクト(別名A)ですべてを選択したいと考えています。
この問題の解決方法を教えてください。たぶんアプローチは悪いですか?
私はEclipeLinkデータプロバイダを使用しています。
あなたは一意ではどういう意味ですか?それはテーブルです –
私の目標は:オブジェクトAはselectに一度だけ現れ、関係を含んでいます。この環境内のユニークな言葉は良い選択ではないかもしれません。 – Zaosz
例:distinct(A) – Zaosz