انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهMID-016-L02

القفل المتشائم من JPA

  • الدرس 2 من 7
  • Mid-level
في هذا الدرس 4 موضوعات

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

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

في هذا الدرس

lock rows from JPA when conflicts are likely.

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

  • @Lock(LockModeType.PESSIMISTIC_WRITE) on a repository query issues SELECT ... FOR UPDATE.
  • PESSIMISTIC_READ maps to FOR SHARE (verify dialect behavior before recording).
  • Set a lock timeout hint (jakarta.persistence.lock.timeout) so threads do not wait forever.
  • Locks are held to the end of the transaction; keep it short.
تفاصيل المخطط المبدئي

عرض عملي

java
@Lock(LockModeType.PESSIMISTIC_WRITE)
@Query("select s from Stock s where s.productId = :id")
Optional<Stock> findForUpdate(Long id);

اختبر فهمك

When is the lock released?

أظهر الإجابة

When the transaction commits or rolls back.

التطبيق

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

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

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

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