관계에 4 개의 테이블이 있습니다. A, B, C, D.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 사이에 둘 이상의 관계가 있으며 하나의 A 개체 (별개 A)에서 모두 함께 선택하려고합니다.
이 문제를 해결하는 방법을 알려주십시오. 어쩌면 접근 방식이 좋지 않을까요?
나는 EclipeLink 데이터 공급자를 사용합니다.
고유 한 의미는 무엇입니까? 그것은 테이블입니다 –
나의 목표는 : 객체 A는 select에 한 번만 나타나고 관계를 포함합니다. 이 환경에서 독특한 단어는 좋은 선택이 아닐 수도 있습니다. – Zaosz
예 : distinct (A) – Zaosz