JavaRush /Java Blogu /Random-AZ /Qış rejimində müsahibə sualları
Dr-JohnZoidberg
Səviyyə
Киев

Qış rejimində müsahibə sualları

Qrupda dərc edilmişdir
Bu məqalə xarici məqalələrin tərcüməsi və təkmilləşdirilməsidir (resursların siyahısı məqalənin sonunda verilmişdir). Bəzi suallara cavablar genişləndirilir, oxuma prosesi zamanı yarana biləcək cavabları ehtiva edən üçüncü tərəf resurslarına keçidlər verilir. 1) Hibernate nədir? Bu, obyektlərin ənənəvi əlaqəli verilənlər bazalarına obyekt-əlaqəli xəritələşdirilməsi üçün çərçivədir. Çərçivənin əsas xüsusiyyətləri: 1) verilənlər bazalarında cədvəllərin avtomatik yaradılması və yenilənməsi; 2) Verilənlər bazasına əsas sorğular (saxlamaq, yeniləmək, silmək və axtarmaq) çərçivənin metodları kimi təqdim edildiyi üçün tərtibatçının yazdığı kod əhəmiyyətli dərəcədə azalır; 3) SQL-ə bənzər dilin (HQL - hibernate sorğu dili) istifadəsini təmin edir. HQL sorğuları məlumat obyektləri ilə yanaşı yazıla bilər (verilənlər bazası ilə işləmək üçün hazırlanmış POJO sinifləri). 2) Qış rejiminə necə girmək olarproqramlaşdırma ilə kömək edir? Hibernate, tərtibatçının işini xeyli asanlaşdıran bir sıra funksiyaları həyata keçirir. — Bu xüsusiyyətlərdən biri odur ki, qışlama rejimi tərtibatçıya əksər SQL sorğularını yazmaqdan çəkinməyə imkan verir (onlar artıq tətbiq olunub, sadəcə çərçivənin təmin etdiyi üsullardan istifadə etməlisiniz). — Başlıq altında, Hibernate proqramın işini əhəmiyyətli dərəcədə sürətləndirən bir sıra faydalı alətlərə malikdir, bunlardan ən diqqətəlayiq olanı iki səviyyəli keşləmə və tənbəllik və geri çəkilmələri dəqiq tənzimləməkdir. — Verilənlər bazasının özündə cədvəllər yaradır. 3) Hibernate ilə işi konfiqurasiya etmək üsulları. Hibernate ilə işi konfiqurasiya etməyin dörd yolu var: - annotasiyalardan istifadə etməklə; - hibernate.cfg.xml; - hibernate.properties; - persistence.xml. Ən ümumi konfiqurasiya üsulu: annotasiyalar və persistence.xml faylı vasitəsilə, hibernate.properties və hibernate.cfg.xml fayllarına gəldikdə, hibernate.cfg.xml daha vacibdir (əgər proqramda hər iki fayl varsa, onda parametrlər hibernate.cfg faylı qəbul edilir.xml). Annotasiyalarla konfiqurasiya, rahat olsa da, həmişə mümkün deyil; məsələn, müxtəlif verilənlər bazaları və ya müxtəlif vəziyyətlər üçün müxtəlif obyekt konfiqurasiyalarına sahib olmaq istəyirsinizsə, xml konfiqurasiya fayllarından istifadə etməlisiniz. 4) Hibernate hansı əsas interfeyslərdən istifadə edir? Hər bir Hibernate ilə əlaqəli proqramda istifadə olunan beş əsas interfeys var: - Sessiya interfeysi; - SessionFactory interfeysi; — Konfiqurasiya interfeysi; — Əməliyyat interfeysi; — Sorğu və Kriteriya interfeysləri. 5) Hibernate-də Sessiya interfeysinin rolu nədir? Sessiya verilənlər bazası ilə əlaqə saxlamaq üçün cavabdeh olan əsas interfeysdir. O, həmçinin davamlı obyektləri əldə etmək üçün sorğu obyektləri yaratmağa kömək edir. (davamlı obyekt - artıq verilənlər bazasında olan bir obyekt; sorğu obyekti - verilənlər bazasında sorğunun nəticəsini aldığımız zaman əldə edilən bir obyekt, proqram bununla işləyir). Session obyektini SessionFactory-dən əldə etmək olar: Session session = sessionFactory.openSession(); Sessiya interfeysinin rolu: verilənlər bazasına jdbc qoşulması üçün sarğıdır; (https://ru.wikipedia.org/wiki/Java_Database_Connectiv..) - əməliyyatlar üçün fabrikdir (rəsmi sənədləşdirmə əməliyyatına görə - tətbiqə iş vahidlərini müəyyən etməyə imkan verir, bu da mahiyyət etibarilə əməliyyatın müəyyənləşdirilməsini nəzərdə tutur. verilənlər bazası ilə əlaqəli əməliyyatların sərhədləri). — məcburi birinci səviyyəli keşin mühafizəçisidir. 6) Hibernate-də SessionFactory interfeysinin rolu nədir? SessionFactory obyektindən biz Session tipli obyektləri əldə edirik. Bütün proqram üçün yalnız bir SessionFactory var və proqram işə salındıqda işə salınır. SessionFactory əməliyyat zamanı tətbiq tərəfindən tez-tez istifadə olunan meta-məlumat və SQL sorğularını keşləyir. O, həmçinin əməliyyatlardan birində alınan və digər əməliyyatlarda istifadə oluna bilən məlumatları keş saxlayır. SessionFactory obyekti aşağıdakı zəngdən istifadə etməklə əldə edilə bilər: SessionFactory sessionFactory = configuration.buildSessionFactory(); 7) Hibernate-də hansı növ kolleksiyalar təmin edilir? Çanta, Set, Siyahı, Xəritə, Massiv. 8) Çanta tipli kolleksiya nədir və nə üçün istifadə olunur? Onun həyata keçirilməsində Çanta kolleksiyası növü Set-ə çox bənzəyir, fərq çantanın dublikat dəyərləri saxlaya bilməsidir. Çanta elementlərin indeksləşdirilməmiş siyahısını saxlayır. Verilənlər bazasındakı əksər cədvəllərdə məlumat elementinin bir-birinə nisbətən mövqeyini göstərən indekslər var; bu indekslər cədvəldə ayrıca sütun şəklində təmsil olunur. Obyektlə əlaqəli xəritələşdirmə ilə indeks sütununun dəyərləri Massivdəki indeksə, Siyahıdakı indeksə və ya Xəritədəki açara uyğunlaşdırılır. Əgər siz indeks məlumatlarını ehtiva etməyən obyektlərin kolleksiyasını əldə etməlisinizsə, o zaman Çanta və ya Set tipli kolleksiyalardan istifadə edə bilərsiniz (kolleksiyalar çeşidlənməmiş formada məlumatları ehtiva edir, lakin sorğuya uyğun olaraq çeşidlənə bilər). 9) load(); metodlarının işində fərq nədir? və almaq();? load() metodu; adətən tələb olunan obyektin verilənlər bazasında olduğuna əmin olmadıqda istifadə olunur. Əgər obyekt tapılmırsa, metod istisna atır.Obyekt tapılarsa, metod verilənlər bazasında yerləşən obyektə keçid olan proxy obyektini qaytarır (verilənlər bazası sorğusu hələ edilməyib, bir növ tənbəl axtarış), biz bir proxy obyekt vasitəsilə tələb olunan obyektə birbaşa daxil olduğumuz zaman verilənlər bazasına birbaşa sorğu. get() metodu; istifadə edildikdə, tələb olunan obyektin verilənlər bazasında olub-olmamasına 100 faiz əmin deyilsiniz. Mövcud olmayan obyektə daxil olmaq vəziyyətində get(); metodu null qayıdacaq. Əgər obyekt tapılarsa, get() metodu; obyektin özünü qaytaracaq və verilənlər bazası sorğusu dərhal ediləcək. 10) Hibernate-də Lazy gətirmə nədir? Hibernate-də Tənbəl yoxlama növü yarpaq (alt) obyektlərlə əlaqələndirilir və əsas müəssisənin yoxlanılması sorğusu olarsa, paylaşılan yoxlama siyasətini müəyyən edir. Sadə bir misal: Ev var. O, onun nömrəsi, küçəsi, mənzillərin sayı və mənzillərdə yaşayan ailələr haqqında məlumatları saxlayır; bu ailələr Ev təşkilatına nisbətən uşaq birliyi təşkil edir. Ev haqqında məlumat tələb etdikdə, orada yaşayan ailələr haqqında məlumatı bilmək bizim üçün tamamilə lüzumsuz ola bilər, burada tənbəl əldəetmə köməyimizə gəlir ki, bu da Ev qurumunu konfiqurasiya etməyə imkan verir ki, ailələr haqqında məlumat ancaq istək üzərinə, bu, tələbi əhəmiyyətli dərəcədə bulud edir və tətbiqi sürətləndirir. ©dev-bay Verilənlər bazasındakı əksər cədvəllərdə məlumat elementinin bir-birinə nisbətən mövqeyini göstərən indekslər var; bu indekslər cədvəldə ayrıca sütun şəklində təmsil olunur. Obyektlə əlaqəli xəritələşdirmə ilə indeks sütununun dəyərləri Massivdəki indeksə, Siyahıdakı indeksə və ya Xəritədəki açara uyğunlaşdırılır. Əgər siz indeks məlumatı olmayan obyektlərin kolleksiyasını əldə etməlisinizsə, o zaman Çanta və ya Set tipli kolleksiyalardan istifadə edə bilərsiniz (kolleksiyalar çeşidlənməmiş formada məlumatları ehtiva edir, lakin sorğuya uyğun olaraq çeşidlənə bilər). 9) load(); metodlarının işində fərq nədir? və almaq();? load() metodu; adətən tələb olunan obyektin verilənlər bazasında olduğuna əmin olmadıqda istifadə olunur. Əgər obyekt tapılmırsa, metod istisna atır.Obyekt tapılarsa, metod verilənlər bazasında yerləşən obyektə keçid olan proxy obyektini qaytarır (verilənlər bazası sorğusu hələ edilməyib, bir növ tənbəl axtarış), biz bir proxy obyekt vasitəsilə tələb olunan obyektə birbaşa daxil olduğumuz zaman verilənlər bazasına birbaşa sorğu. get() metodu; istifadə edildikdə, tələb olunan obyektin verilənlər bazasında olub-olmamasına 100 faiz əmin deyilsiniz. Mövcud olmayan obyektə daxil olmaq vəziyyətində get(); metodu null qayıdacaq. Əgər obyekt tapılarsa, get() metodu; obyektin özünü qaytaracaq və verilənlər bazası sorğusu dərhal ediləcək. 10) Hibernate-də Lazy gətirmə nədir? Hibernate-də Tənbəl yoxlama növü yarpaq (alt) obyektlərlə əlaqələndirilir və əsas müəssisənin yoxlanılması sorğusu olarsa, paylaşılan yoxlama siyasətini müəyyən edir. Sadə bir misal: Ev var. O, onun nömrəsi, küçəsi, mənzillərin sayı və mənzillərdə yaşayan ailələr haqqında məlumatları saxlayır; bu ailələr Ev təşkilatına nisbətən uşaq birliyi təşkil edir. Ev haqqında məlumat tələb etdikdə, orada yaşayan ailələr haqqında məlumatı bilmək bizim üçün tamamilə lüzumsuz ola bilər, burada tənbəl əldəetmə köməyimizə gəlir ki, bu da Ev qurumunu konfiqurasiya etməyə imkan verir ki, ailələr haqqında məlumat ancaq istək üzərinə, bu, tələbi əhəmiyyətli dərəcədə bulud edir və tətbiqi sürətləndirir. ©dev-bay Verilənlər bazasındakı əksər cədvəllərdə məlumat elementinin bir-birinə nisbətən mövqeyini göstərən indekslər var; bu indekslər cədvəldə ayrıca sütun şəklində təmsil olunur. Obyektlə əlaqəli xəritələşdirmə ilə indeks sütununun dəyərləri Massivdəki indeksə, Siyahıdakı indeksə və ya Xəritədəki açara uyğunlaşdırılır. Əgər siz indeks məlumatlarını ehtiva etməyən obyektlərin kolleksiyasını əldə etməlisinizsə, o zaman Çanta və ya Set tipli kolleksiyalardan istifadə edə bilərsiniz (kolleksiyalar çeşidlənməmiş formada məlumatları ehtiva edir, lakin sorğuya uyğun olaraq çeşidlənə bilər). 9) load(); metodlarının işində fərq nədir? və almaq();? load() metodu; adətən tələb olunan obyektin verilənlər bazasında olduğuna əmin olmadıqda istifadə olunur. Əgər obyekt tapılmırsa, metod istisna atır.Obyekt tapılarsa, metod verilənlər bazasında yerləşən obyektə keçid olan proxy obyektini qaytarır (verilənlər bazası sorğusu hələ edilməyib, bir növ tənbəl axtarış), biz bir proxy obyekt vasitəsilə tələb olunan obyektə birbaşa daxil olduğumuz zaman verilənlər bazasına birbaşa sorğu. get() metodu; istifadə edildikdə, tələb olunan obyektin verilənlər bazasında olub-olmamasına 100 faiz əmin deyilsiniz. Mövcud olmayan obyektə daxil olmaq vəziyyətində get(); metodu null qayıdacaq. Əgər obyekt tapılarsa, get() metodu; obyektin özünü qaytaracaq və verilənlər bazası sorğusu dərhal ediləcək. 10) Hibernate-də Lazy gətirmə nədir? Hibernate-də Tənbəl yoxlama növü yarpaq (alt) obyektlərlə əlaqələndirilir və əsas müəssisənin yoxlanılması sorğusu olarsa, paylaşılan yoxlama siyasətini müəyyən edir. Sadə bir misal: Ev var. O, onun nömrəsi, küçəsi, mənzillərin sayı və mənzillərdə yaşayan ailələr haqqında məlumatları saxlayır; bu ailələr Ev təşkilatına nisbətən uşaq birliyi təşkil edir. Ev haqqında məlumat tələb etdikdə, orada yaşayan ailələr haqqında məlumatı bilmək bizim üçün tamamilə lüzumsuz ola bilər, burada tənbəl əldəetmə köməyimizə gəlir ki, bu da Ev qurumunu konfiqurasiya etməyə imkan verir ki, ailələr haqqında məlumat ancaq istək üzərinə, bu, tələbi əhəmiyyətli dərəcədə bulud edir və tətbiqi sürətləndirir. ©dev-bay bir proxy obyekti vasitəsilə tələb olunan obyektə birbaşa daxil olduğumuz zaman verilənlər bazasına birbaşa sorğu. get() metodu; istifadə edildikdə, tələb olunan obyektin verilənlər bazasında olub-olmamasına 100 faiz əmin deyilsiniz. Mövcud olmayan obyektə daxil olmaq vəziyyətində get(); metodu null qayıdacaq. Əgər obyekt tapılarsa, get() metodu; obyektin özünü qaytaracaq və verilənlər bazası sorğusu dərhal ediləcək. 10) Hibernate-də Lazy gətirmə nədir? Hibernate-də Tənbəl yoxlama növü yarpaq (alt) obyektlərlə əlaqələndirilir və əsas müəssisənin yoxlanılması sorğusu olarsa, paylaşılan yoxlama siyasətini müəyyən edir. Sadə bir misal: Ev var. O, onun nömrəsi, küçəsi, mənzillərin sayı və mənzillərdə yaşayan ailələr haqqında məlumatları saxlayır; bu ailələr Ev təşkilatına nisbətən uşaq birliyi təşkil edir. Ev haqqında məlumat tələb etdikdə, orada yaşayan ailələr haqqında məlumatı bilmək bizim üçün tamamilə lüzumsuz ola bilər, burada tənbəl əldəetmə köməyimizə gəlir ki, bu da Ev qurumunu konfiqurasiya etməyə imkan verir ki, ailələr haqqında məlumat ancaq istək üzərinə, bu, tələbi əhəmiyyətli dərəcədə bulud edir və tətbiqi sürətləndirir. ©dev-bay bir proxy obyekti vasitəsilə tələb olunan obyektə birbaşa daxil olduğumuz zaman verilənlər bazasına birbaşa sorğu. get() metodu; istifadə edildikdə, tələb olunan obyektin verilənlər bazasında olub-olmamasına 100 faiz əmin deyilsiniz. Mövcud olmayan obyektə daxil olmaq vəziyyətində get(); metodu null qayıdacaq. Əgər obyekt tapılarsa, get() metodu; obyektin özünü qaytaracaq və verilənlər bazası sorğusu dərhal ediləcək. 10) Hibernate-də Lazy gətirmə nədir? Hibernate-də Tənbəl yoxlama növü yarpaq (alt) obyektlərlə əlaqələndirilir və əsas müəssisənin yoxlanılması sorğusu olarsa, paylaşılan yoxlama siyasətini müəyyən edir. Sadə bir misal: Ev var. O, onun nömrəsi, küçəsi, mənzillərin sayı və mənzillərdə yaşayan ailələr haqqında məlumatları saxlayır; bu ailələr Ev təşkilatına nisbətən uşaq birliyi təşkil edir. Ev haqqında məlumat tələb etdikdə, orada yaşayan ailələr haqqında məlumatı bilmək bizim üçün tamamilə lüzumsuz ola bilər, burada tənbəl əldəetmə köməyimizə gəlir ki, bu da Ev qurumunu konfiqurasiya etməyə imkan verir ki, ailələr haqqında məlumat ancaq istək üzərinə, bu, tələbi əhəmiyyətli dərəcədə bulud edir və tətbiqi sürətləndirir. ©dev-bay
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION