en aşağıdaki iki tablo var diyelim:Yalnızca JPQL'deki birleştirme için eşlenen sütunlara nasıl başvurabilirim?
@Entity public class Foo {
@Id private int id;
@ManyToOne()
@JoinColumn(name = "bar_id")
private Bar bar;
}
@Entity public class Bar {
@Id private int id;
private Boolean flag;
}
Ve Foo
kimlikleri bir koleksiyon dayalı bazı Bar.flag
değerlerini değiştiren bir JPQL sorgu yazmak istiyorum. bar_id
kolon varlığın bir özelliği eşleştirilmiş olmadığından,
UPDATE Bar SET flag = true WHERE id IN (SELECT bar_id from FOO where id = 3);
Bununla birlikte JPQL için bu tercüme edemez: Bu sade SQL olsaydı
böyle bir şey yazmak istiyorum.
bar_id
Foo
Entity, 'da doğrudan eşleştirilmemiş JPQL'de bu tür sorgulamayı nasıl yapabilirim?
Koleksiyon nerede? –
buna cevap vermiyor mu? http://stackoverflow.com/questions/3629259/how-do-i-do-a-jpql-subquery –
@sashok_bg Denemedim, ama bunun olacağını sanmıyorum çünkü öğede eşlenen ham yabancı anahtarlar (örneklerinde p.country_id) – SCdF