Parametre olarak bir List
alır bir JPQL adlı sorgu var. Bir IN
ifadesinde parametresini kullanıyorum:JPA'da boş bir listeyi geçmek ve test etmek mümkün mü?
...WHERE :list IS EMPTY OR x.id IN :list
Ne de:
...WHERE x.id IN :list
Aşağıdaki ama sözdizimi görünüşte bana izin vermiyor böyle bir şey yapmak istiyorum
...WHERE SIZE(:list) = 0 OR x.id IN :list
JPA 2.0 adlı bir sorguda imkansızı yapmaya çalıştığım şey nedir? Bunu, API ölçütleriyle veya düz eski JPQL dizeleriyle nasıl yapacağını biliyorum.
Sen pek doğru tabii konum. Bu koşullu kod içinde sorgunun kendisine geçmeyi umuyordum, ancak bu JPQL BNF tarafından desteklenmiyor. –
Zayıf savunmamda, oluşturulan senaryolarda aşağıdaki türde bir SQL (JPQL değil) sıklığının görülebileceğini teklif ediyorum: 'SELECT x FROM y WHERE 1 = 1;' (yani, WHERE ifadesinin montajı ne olursa olsun, bazen '1 = 1',' WHERE' deyimindedir, dolayısıyla dinamik derleme, konuştuğunuzda/sonra mantığını yapmak zorunda değildir). Bunu söyledikten sonra, JPQL ile bundan kurtulabileceğimi sanmıyorum. Teşekkürler. –