sınıf Operation
ve bunun 3 alt sınıfları düşünün.Alias
Ben account
özelliği sorgulamak istiyorum:
session.createCriteria(Operation.class)
.add(Restrictions.eq("account", account))
.list();
Bu çalışır. Hazırda bekletme, Operation
ve OpA
öğelerinin account
adlı hiçbir alana sahip olmadığını ve OpB
ve OpC
için doğru sonuçları döndürdüğünü göz ardı eder.
Ancak, şimdi hesap sahibinin hesap sorgusunu da sorgulamak istiyorum. Sonra account
için takma _account
oluşturun:
session.createCriteria(Operation.class)
.add(Restrictions.eq("account", account))
.createAlias("account", "_account")
.add(Restrictions.eq("_account.owner", "John"))
.addOrder(Order.asc("_account.owner"))
.list();
Bu başarısız olur. Hazırda şikayet böylece (OpB
ve OpC
itibaren) hesap için 2 ayrı tablolar vardır:
Not unique table/alias: 'account1_'
Benim sorum: Ben sadece Criteria
(hayır SQL kullanarak, hesap ve hesap sahibi hem de sorgulayabilir nasıl HQL) en basit şekilde?
Ne yapacağınız gibi istenen SQL görünüyor? –
@Pedrag: Üzgünüm, hiçbir fikrim yok. – MarcG