ile ilişkilidir. Googling'i gerçekleştirdim, ancak javax.persistence.criteria uygulamasının yöntemi ile aramanın sonucunun ne olduğunu anlayamadım.Kriterler API'si,
http://www.objectdb.com/api/java/jpa/criteria/Subquery/correlate_CollectionJoin_
Bu Java Persistence API Mastering kitaptan Pro JPA2 değil.
bu sorgu için ölçüt API sorgusu tanımını oluşturarak
, biz Projesi çalışanları niteliğini korelasyon ve daha sonra ortalama maaş hesaplamak için doğrudan raporlar bunu katılmalısınız.
CriteriaQuery<Project> c = cb.createQuery(Project.class);
Root<Project> project = c.from(Project.class);
Join<Project,Employee> emp = project.join("employees");
Subquery<Number> sq = c.subquery(Number.class);
Join<Project,Employee> sqEmp = sq.correlate(emp);
Join<Employee,Employee> directs = sqEmp.join("directs");
c.select(project)
.where(cb.equal(project.type(), DesignProject.class),
cb.isNotEmpty(emp.<Collection>get("directs")),
cb.ge(sq, cb.parameter(Number.class, "value")));
bu hat ne yapar: Bu örnek de türleri polimorfik karşılaştırma yapmak amacıyla Yolu arayüzünün tipi() yönteminin kullanımını gösterir?
sqEmp = sq.correlate (emp) öğesine katıl;
bunu ve tablolar kullanabilirsiniz yüzden ana sorgu tarafından başvurulan çalışana erişim sağlar. Yani sorguları birbirine yapıştırır? Yukarıda belirtilen hattın atlanmasının sonuçları ne olurdu? – pethel
Çalışanlar üzerinde "emp" Katılma nesnesinde erişemezdiniz. Böylece, Employee_.directs' koleksiyonuna katıldığınız alt sorgunuzda 'emp' kullanamazsınız. – mika