2016-04-06 17 views
0

JPA'ya yeniyim, bu yüzden potansiyel olarak aptalca bir soru için beni çok zorlama, ama google bana cevabı vermedi.JPQL ile birden çok ManyToOne ile ilgili varlıklardan belirli alan değerleri nasıl alınır?

PostreSQL veritabanını kullanıyorum. Varlık İki (İkinci liste) ile ManyToOne ilişkisine sahip olan varlık Bir'in olduğunu ve bu durumda İkiliğin, sırayla, Öğe Üç (Liste üç) ile ManyToOne ilişkisine sahip olduğunu varsayalım.

Üç varlığın her birinde kendi kimlik alanı vardır.

JPQL ile Şu sorguyu çalıştırmaya çalışıyorum: "SELECT o.two.ID, o.two.three.ID FROM One o WHERE o.ID = 1 GROUP BY(o.two.ID, o.two.three.ID)".

Ama aldığımız tüm Internal Server Error, SQLGrammarException ve SQLState: 42803, Character code: 8.

Orada o.two.IDGROUP BY belirtilmesi gerektiği pg_log rekor, ama zaten var olduğunu.

+0

Emin değilim, grup tarafından parantez gerekmez. Denemeye değer olabilir. Ve sadece GROUP BY içinde SELECT ve o.three.ID'de o.two.three.ID' olduğunu fark ettiniz. Bunlar eşleşmeli. –

+0

Grup olmadan denediniz mi? – Desorder

+0

@Narain Mittal Evet, grupta parantez olmadan denedim, ancak hiçbir şey değişmedi. Ve üzgünüm, soruyu yazarken o.three.ID'yi yanlış yazmışım gibi görünüyor, aslında o.two.three.ID. Şimdi sorunu çözeceğim. – htshame

cevap

0

Sonunda bir çözüm buldum!

benim işletmelerdeki OneToMany geri ilişkilerini eklemek oldu gerekli tüm, varlık TwoOneToManyThreeOneToMany varlık Two için lı olmalıdır varlık One ve varlığa lı olmalıdır kadar.

Herkese teşekkürler!

+0

Ah, eski iyi ters ilişki. Cevabınızı da doğru olarak işaretleyin, böylece sorunun yanıtlandığını biliyoruz :) – Desorder

İlgili konular