Jointure de Deux tables dans la Requête de Critères

J'ai trois tables est ItemCategory,ItemMaster et le Prix. Je me réfère itemaCategoryId dans ItemMaster table et comme ça se référant itemmasterid dans le prix. Maintenant, je dois contenu de l'affichage de prix de l'ordre par itemcategory id. C'est mes critères de requête.

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);

Au-dessus de mes critères de Requête

  • Pourquoi avez-vous itemMasterId et itemMaster propriétés dans le Prix? Veulent-ils dire la même chose?
  • Pas de. Tableau de prix se référant itemmasterid seulement. j'ai pour afficher le contenu du tableau de prix et commande par itemcategoryid, c'est que j'ai besoin. Mais ne sais pas bien faire rejoindre dans les critères.
InformationsquelleAutor Uday | 2013-11-06