Join Zwei Tabellen in der Abfrage-Kriterien

Ich habe drei Tabellen, eine ist ItemCategory,ItemMaster und Preis. Ich beziehe mich itemaCategoryId in ItemMaster Tisch und wie, dass bezogen itemmasterid im Preis. Nun habe ich mir die display-Inhalte von Preis order by itemcategory id. Dies ist meine Kriterien Abfrage.

CriteriaBuilder cb = entityManager.getCriteriaBuilder();
    CriteriaQuery<Price> cq = cb.createQuery(Price.class);
    Root<Price> root = cq.from(Price.class);
    Root<ItemMaster> itemMasterRoot = cq.from(ItemMaster.class);
    Root<ItemCategory> itemCategoryRoot = cq.from(ItemCategory.class);
    Join<ItemMaster, ItemCategory> s=itemMasterRoot.join(ItemMaster_.category);     
    Join<Price,ItemMaster> y=root.join(Price_.itemMaster);

    Path<Long> itemMasterId=root.get(Price_.itemMasterId);
    cq.select(root).where(cb.equal(root.get(Price_.priceMasterId), priceMasterId))
    .orderBy(cb.asc(itemMasterId));

    TypedQuery<Price> q = entityManager.createQuery(cq);

Oben meine Kriterien Abfrage

Warum haben Sie itemMasterId und itemMaster Eigenschaften im Preis? Bedeuten Sie das gleiche?
Nein. Preis-Tabelle bezieht itemmasterid nur. ich habe für die Anzeige des Inhalts der Preisliste und Bestellung von itemcategoryid, das ist, die ich brauche. Aber weiß nicht richtig wie Mitmach-Kriterien.

InformationsquelleAutor Uday | 2013-11-06

Schreibe einen Kommentar