انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهJNR-029-L03

JPQL مع @Query

  • الدرس 3 من 7
  • Junior
في هذا الدرس 4 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

write explicit queries on entities.

الموضوعات المخطط لها

  • JPQL queries entities and their fields, not tables and columns.
  • Use named parameters with @Param.
  • Optional filters can be written as (:name is null or lower(p.name) like lower(concat('%', :name, '%'))).
  • Never concatenate input; parameters are safe.
  • Add @Modifying for update/delete queries (they bypass the persistence context, so use sparingly).
تفاصيل المخطط المبدئي

عرض عملي

java
@Query("""
    select p from Product p
    where p.category.id = :categoryId and p.price.amount <= :max
    order by p.name
    """)
List<Product> findAffordable(@Param("categoryId") Long categoryId, @Param("max") BigDecimal max);

اختبر فهمك

Does JPQL use table names or entity names?

أظهر الإجابة

Entity names.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.