sql >> Databáze >  >> RDS >> Mysql

JPA CriteriaBuilder jak vytvořit join + like dotaz

  1. výběr je nejasný. V SQL vyberete s.*, p.name, p.code , ale v kritériích očekáváte Long ?

  2. vaše LEFT JOIN nesmí být LEFT .

  3. v kritériích nemáte vůbec žádné připojení.

  4. měli byste použít metamodel jako obecnou radu.

Myslím, že chcete všechny Stock s, které obsahují alespoň jeden Product s názvem jako %value% .

Pokud je můj předpoklad správný:

CriteriaBuilder cb = em.getCriteriaBuilder();

CriteriaQuery<Stock> cq = cb.createQuery(Stock.class);

Root<Stock> stock = cq.from(Stock.class);
Join<Stock, Product> product = stock.join(Stock_.products);

cq.select(stock);
cq.distinct(true);
cq.where(cb.like(product.get(Product_.name), "%" + value + "%");

return em.createQuery(cq).getResultList();



  1. Zkontrolujte, zda tabulka MySQL existuje nebo ne

  2. jak vytisknout tabulku umístění za chodu z mysql tabulky fotbalových [fotbalových] výsledků?

  3. Nelze spustit server v rails s mysql db

  4. Dotaz MySQL pro více tabulek, které jsou sekundárními tabulkami s více položkami?