Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

जेपीए मानदंडबिल्डर कैसे शामिल हों + क्वेरी की तरह बनाएं

  1. चयन अस्पष्ट है। SQL में आप s.*, p.name, p.code . चुनें , लेकिन मानदंड में आप Long . की अपेक्षा करते हैं ?

  2. आपका LEFT JOIN LEFT नहीं होना चाहिए ।

  3. मानदंड में आप बिल्कुल भी शामिल नहीं हुए हैं।

  4. आपको सामान्य सलाह के रूप में मेटामॉडल का उपयोग करना चाहिए।

मुझे लगता है कि आप सभी Stock चाहते हैं s जिसमें कम से कम एक Product हो %value% . जैसे नाम के साथ

अगर मेरी धारणा सही है:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यदि मौजूद नहीं है तो केवल mysql सम्मिलित करें काम नहीं करता है

  2. कोडइग्निटर के साथ संग्रहित प्रक्रियाओं को 'कॉल' करने का प्रयास कर रहा है

  3. संपूर्ण इकाई को लोड किए बिना EF4 में इकाई हटाएं

  4. संभवतः IN और NOT IN का उपयोग करके अलग-अलग आईडी खोजने के लिए SQL-क्वेरी की आवश्यकता है

  5. टेबल [टेबलनाम] लॉक नहीं है