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.ID
GROUP BY
belirtilmesi gerektiği pg_log rekor, ama zaten var olduğunu.
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. –
Grup olmadan denediniz mi? – Desorder
@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