English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

الفرق بين التحميل المتأخر والتحميل الشديد في Hibernate

Lazy和Eager是ORM中的两种数据加载策略,例如休眠和Eclipse链接。当一个实体类引用其他实体(例如Employee和Phone(员工中的电话))时,我们使用了这些数据加载策略。 

延迟加载-仅当我们显式调用getter或size方法时,关联数据才会加载。

  • 使用一对多集合时,请使用延迟加载。

  • 当您确定未使用相关实体时,请使用“延迟加载”。 

Egare加载-数据加载发生在获取其父级时。

  •  关系不太多时,请使用“渴望加载”。因此,急切加载是减少服务器上进一步查询的一种好习惯。

  • عندما تكون متأكداً من استخدام الكائن الرئيسي في كل مكان،استخدم "تحميل عاجل".

الترتيبالمفتاحمتأخرعاجل
1
استراتيجية الاستخراج 
في التحميل المتأخر،سيتم تحميل البيانات فقط عند التطبيق على get أو size بشكل صريح
في التحميل العاجل،تحميل البيانات يحدث عند الحصول على المستوى الأعلى 
2
الاستراتيجية الافتراضية في طبقة ORM 
بالتأكيد،يستخدم ManyToMany و OneToMany الاتصال استراتيجية التحميل المتأخر بشكل افتراضي.
بالتأكيد،يستخدم ManyToOne و OneToOne الاتصال استراتيجية التحميل المتأخر بشكل افتراضي.
3
تحميل التكوين
يمكن تمكينه باستخدام معامل التعليق:

fetch = FetchType.LAZY 
يمكن تمكينه باستخدام معامل التعليق:

fetch = FetchType.EAGER
 4
الأداء
وقت التحميل الأولي أقصر بكثير من التحميل العاجل
تحميل بيانات غير ضرورية كبيرة قد يؤثر على الأداء