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

إدراج وتحديث البيانات على دفعات

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

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

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

في هذا الدرس

send many statements to the database in few round trips.

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

  • Set hibernate.jdbc.batch_size (for example 50) and order_inserts/order_updates to group statements.
  • GenerationType.IDENTITY forces Hibernate to insert each row immediately to get the id, which disables insert batching.
  • Use a sequence (GenerationType.SEQUENCE with allocationSize matching the sequence increment) to batch inserts.
  • With the PostgreSQL driver, reWriteBatchedInserts=true merges inserts further (verify driver option before recording).
  • Flush and clear the persistence context every batch to keep memory flat.
تفاصيل المخطط المبدئي

عرض عملي

yaml
spring.jpa.properties.hibernate.jdbc.batch_size: 50
spring.jpa.properties.hibernate.order_updates: true

اختبر فهمك

Why does IDENTITY stop insert batching?

أظهر الإجابة

Hibernate must execute each insert at once to learn the generated id.

التطبيق

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

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

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

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