English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 | الأداء | وقت التحميل الأولي أقصر بكثير من التحميل العاجل | تحميل بيانات غير ضرورية كبيرة قد يؤثر على الأداء |