JavaRush /Java блогу /Random-KY /Күтүү режиминдеги интервью суроолору
Dr-JohnZoidberg
Деңгээл
Киев

Күтүү режиминдеги интервью суроолору

Группада жарыяланган
Бул макала чет элдик макалалардын котормосу жана өркүндөтүлүшү (ресурстардын тизмеси макаланын аягында келтирилген). Кээ бир суроолорго жооптор кеңейтилген, окуу процессинде пайда болушу мүмкүн болгон жоопторду камтыган үчүнчү тараптын ресурстарына шилтемелер берилген. 1) Күтүү деген эмне? Бул an objectтерди салттуу реляциялык маалымат базаларына an objectи-катыштыруу үчүн негиз болуп саналат. Фрейквордун негизги өзгөчөлүктөрү: 1) Маалыматтар базасындагы tableларды автоматтык түрдө түзүү жана жаңылоо; 2) Маалыматтар базасына негизги суроо-талаптар (сактоо, жаңылоо, жок кылуу жана издөө) фреймворктун методдору катары берилгендиктен, иштеп чыгуучу жазган code бир топ кыскарат; 3) SQL сыяктуу тилди колдонууну камсыз кылат (HQL - күтүү суроо тor). HQL сурамдары маалымат an objectилери менен катар жазылышы мүмкүн (маалыматтар базасы менен иштөө үчүн даярдалган POJO класстары). 2) Күтүү режимине кантип чыгуу керекпрограммалоо менен жардам берет? Hibernate иштеп чыгуучунун ишин абдан жөнөкөйлөткөн бир катар функцияларды ишке ашырат. — Бул өзгөчөлүктөрдүн бири, күтүү режими иштеп чыгуучуга SQL сурамдарынын көбүн жазуудан качууга мүмкүндүк берет (алар мурунтан эле ишке ашырылган, сиз жөн гана алHow берген ыкмаларды колдонушуңуз керек). — Капоттун астында Hibernate тиркемени кыйла тездетүүчү көптөгөн пайдалуу куралдарга ээ, алардын эң көрүнүктүүлөрү эки деңгээлдүү кэштөө жана жалкоолорду жана алып салууларды тактоо. — Маалыматтар базасына tableларды түзөт. 3) Hibernate менен иштөөнү конфигурациялоо ыкмалары. Күтүү режиминде иштөөнү конфигурациялоонун төрт жолу бар: - annotationларды колдонуу; - hibernate.cfg.xml; - hibernate.properties; - persistence.xml. Эң кеңири таралган конфигурация ыкмасы: annotationлар жана persistence.xml файлы аркылуу, hibernate.properties жана hibernate.cfg.xml файлдары үчүн, анда hibernate.cfg.xml маанилүүрөөк (эгерде тиркемеде эки файл тең болсо, анда төмөнкү орнотуулар hibernate.cfg файлы кабыл алынат. xml). Аннотациялар менен конфигурациялоо ыңгайлуу болгону менен дайыма эле мүмкүн боло бербейт; мисалы, ар кандай маалымат базалары үчүн же ар кандай жагдайлар үчүн ар кандай an object конфигурацияларына ээ болгуңуз келсе, анда xml конфигурация файлдарын колдонушуңуз керек. 4) Hibernate кандай негизги интерфейстерди колдонот? Ар бир Күтүү режимине тиешелүү тиркемелерде колдонулган беш негизги интерфейс бар: - Сеанс интерфейси; - SessionFactory интерфейси; — Конфигурация интерфейси; — транзакция интерфейси; — Суроо жана критерий интерфейстери. 5) Күтүү режиминде сессия интерфейсинин ролу кандай? Сеанс – бул маалымат базасы менен байланыш үчүн жооптуу болгон негизги интерфейс. Ошондой эле туруктуу an objectтерди алуу үчүн сурам an objectтерин түзүүгө жардам берет. (туруктуу an object - маалымат базасында мурунтан эле бар an object; суроо an objectи - маалымат базасында суроонун натыйжасын алганыбызда алынган an object, дал ушул колдонмо менен иштейт). Session an objectин SessionFactoryден алса болот: Session session = sessionFactory.openSession(); Session интерфейсинин ролу: маалымат базасына jdbc туташуу үчүн орогуч; (https://ru.wikipedia.org/wiki/Java_Database_Connectiv..) - транзакциялар үчүн фабрика (расмий documentация транзакциясы боюнча - колдонмого иштин бирдиктерин аныктоого мүмкүндүк берет, бул, маңызы боюнча, транзакция аныктайт дегенди билдирет маалымат базасы менен байланышкан операциялардын чек аралары). — милдеттүү түрдө биринчи даражадагы кэштин сактоочусу болуп саналат. 6) Hibernate режиминде SessionFactory интерфейсинин ролу кандай? SessionFactory an objectинен биз Session түрүндөгү an objectтерди алабыз. Бардык тиркеме үчүн бир гана SessionFactory бар жана ал колдонмо башталганда инициализацияланат. SessionFactory иш учурунда колдонмо тарабынан көп колдонулган мета-берorштерди жана SQL сурамдарын кэштейт. Ошондой эле транзакциялардын биринде алынган жана башка транзакцияларда колдонулушу мүмкүн болгон маалыматты кэштейт. SessionFactory an objectисин төмөнкү чакыруу аркылуу алса болот: SessionFactory sessionFactory = configuration.buildSessionFactory(); 7) Күтүү режиминде коллекциялардын кандай түрлөрү каралган? Баштык, топтом, тизме, карта, массив. 8) Баштыктын түрү деген эмне жана ал эмне үчүн колдонулат? Аны ишке ашырууда баштык чогултуу түрү Setге абдан окшош, айырмасы баштык кайталанма баалуулуктарды сактай алат. Баштык элементтердин индекстелбеген тизмесин сактайт. Берorштер базасындагы көпчүлүк tableларда маалымат элементинин абалын көрсөтүүчү индекстер бар; бул индекстер tableда өзүнчө мамыча катары берилген. Объект-реляциялык карталоо менен индекс тилкесинин маанилери Массивдеги индекске, Тизмедеги индекске же Картадагы ачкычка түшүрүлөт. Эгерде сизге индекс маалыматтары жок an objectтердин коллекциясын алуу керек болсо, анда сиз баштык же Set тибиндеги коллекцияларды колдонсоңуз болот (коллекциялар сорттолбогон формадагы маалыматтарды камтыйт, бирок суроо-талапка ылайык иреттелиши мүмкүн). 9) load(); методдорунун иштешинде кандай айырма бар? жана алуу();? load() ыкмасы; адатта суралган an object маалымат базасында бар экенине ишенбеген учурда колдонулат. Эгерде an object табылбаса, анда метод өзгөчө учурду жаратат.Эгер an object табылса, метод прокси an objectини кайтарат, ал маалымат базасында жайгашкан an objectке шилтеме болуп саналат (деректер базасына суроо-талап али жасала элек, бир түрү) жалкоо издөө), биз прокси an object аркылуу керектүү an objectке түздөн-түз кирсек, маалымат базасына түз суроо. get() ыкмасы; колдонулганда, суралган an object маалымат базасында бар-жогуна 100 пайыз ишене албайсыз. Болбогон an objectке жетүү учурунда get(); ыкмасы null кайтып келет. Эгерде an object табылса, get() ыкмасы; an objectтин өзүн кайтарып берет жана маалымат базасына суроо дароо жасалат. 10) Гибернатта Lazy алып келүү деген эмне? Күтүү режиминдеги Жалкоо текшерүү түрү жалбырак (балдар) an objectтери менен байланышкан жана ата-энелик an objectти текшерүү өтүнүчү бар болсо, жалпы текшерүү саясатын аныктайт. Жөнөкөй мисал: Юридикалык үй бар. Анда анын номери, көчөсү, батирлердин саны жана батирлерде жашаган үй-бүлөлөр жөнүндө маалыматтар сакталат; бул үй-бүлөлөр Үй субъектине карата бала субъектисин түзөт. Биз үй жөнүндө маалымат сураганыбызда, анда жашаган үй-бүлөлөр жөнүндө маалыматты билүү бизге таптакыр кереги жок болуп калышы мүмкүн, бул жерде жалкоолук жардамга келет, бул үй-бүлө жөнүндө маалымат гана берorши үчүн Үй an objectисин конфигурациялоого мүмкүндүк берет. суроо-талабы боюнча, бул суроо-талапты булуттайт жана колдонмону тездетет. ©дев-бай Берorштер базасындагы көпчүлүк tableларда маалымат элементинин ордун көрсөтүүчү индекстер бар; бул индекстер tableда өзүнчө мамыча катары берилген. Объект-реляциялык карталоо менен индекс тилкесинин маанилери Массивдеги индекске, Тизмедеги индекске же Картадагы ачкычка түшүрүлөт. Эгерде сизге индекс маалыматтары жок an objectтердин коллекциясын алуу керек болсо, анда сиз баштык же Set тибиндеги коллекцияларды колдонсоңуз болот (коллекциялар сорттолбогон формадагы маалыматтарды камтыйт, бирок суроо-талапка ылайык иреттелиши мүмкүн). 9) load(); методдорунун иштешинде кандай айырма бар? жана алуу();? load() ыкмасы; адатта суралган an object маалымат базасында бар экенине ишенбеген учурда колдонулат. Эгерде an object табылбаса, анда метод өзгөчө учурду жаратат.Эгер an object табылса, метод прокси an objectини кайтарат, ал маалымат базасында жайгашкан an objectке шилтеме болуп саналат (деректер базасына суроо-талап али жасала элек, бир түрү) жалкоо издөө), биз прокси an object аркылуу керектүү an objectке түздөн-түз кирсек, маалымат базасына түз суроо. get() ыкмасы; колдонулганда, суралган an object маалымат базасында бар-жогуна 100 пайыз ишене албайсыз. Болбогон an objectке жетүү учурунда get(); ыкмасы null кайтып келет. Эгерде an object табылса, get() ыкмасы; an objectтин өзүн кайтарып берет жана маалымат базасына суроо дароо жасалат. 10) Гибернатта Lazy алып келүү деген эмне? Күтүү режиминдеги Жалкоо текшерүү түрү жалбырак (балдар) an objectтери менен байланышкан жана ата-энелик an objectти текшерүү өтүнүчү бар болсо, жалпы текшерүү саясатын аныктайт. Жөнөкөй мисал: Юридикалык үй бар. Анда анын номери, көчөсү, батирлердин саны жана батирлерде жашаган үй-бүлөлөр жөнүндө маалыматтар сакталат; бул үй-бүлөлөр Үй субъектине салыштырмалуу бала субъектисин түзөт. Үй жөнүндө маалымат сураганыбызда, анда жашаган үй-бүлөлөр жөнүндө маалыматты билүү бизге такыр эле керексиз болуп калышы мүмкүн, бул жерде жалкоолук жардамга келет, бул үй-бүлө жөнүндө маалымат гана берorши үчүн Үй an objectисин конфигурациялоого мүмкүндүк берет. суроо-талабы боюнча, бул суроо-талапты булуттайт жана колдонмону тездетет. ©дев-бай Берorштер базасындагы көпчүлүк tableларда маалымат элементинин абалын көрсөтүүчү индекстер бар; бул индекстер tableда өзүнчө мамыча катары берилген. Объект-реляциялык карталоо менен индекс тилкесинин маанилери Массивдеги индекске, Тизмедеги индекске же Картадагы ачкычка түшүрүлөт. Эгерде сизге индекс маалыматтары жок an objectтердин коллекциясын алуу керек болсо, анда сиз баштык же Set тибиндеги коллекцияларды колдонсоңуз болот (коллекциялар сорттолбогон формадагы маалыматтарды камтыйт, бирок суроо-талапка ылайык иреттелиши мүмкүн). 9) load(); методдорунун иштешинде кандай айырма бар? жана алуу();? load() ыкмасы; адатта суралган an object маалымат базасында бар экенине ишенбеген учурда колдонулат. Эгерде an object табылбаса, анда метод өзгөчө учурду жаратат.Эгер an object табылса, метод прокси an objectини кайтарат, ал маалымат базасында жайгашкан an objectке шилтеме болуп саналат (деректер базасына суроо-талап али жасала элек, бир түрү) жалкоо издөө), биз прокси an object аркылуу керектүү an objectке түздөн-түз кирсек, маалымат базасына түз суроо. get() ыкмасы; колдонулганда, суралган an object маалымат базасында бар-жогуна 100 пайыз ишене албайсыз. Болбогон an objectке жетүү учурунда get(); ыкмасы null кайтып келет. Эгерде an object табылса, get() ыкмасы; an objectтин өзүн кайтарып берет жана маалымат базасына суроо дароо жасалат. 10) Гибернатта Lazy алып келүү деген эмне? Күтүү режиминдеги Жалкоо текшерүү түрү жалбырак (балдар) an objectтери менен байланышкан жана ата-энелик an objectти текшерүү өтүнүчү бар болсо, жалпы текшерүү саясатын аныктайт. Жөнөкөй мисал: Юридикалык үй бар. Анда анын номери, көчөсү, батирлердин саны жана батирлерде жашаган үй-бүлөлөр жөнүндө маалыматтар сакталат; бул үй-бүлөлөр Үй субъектине карата бала субъектисин түзөт. Биз үй жөнүндө маалымат сураганыбызда, анда жашаган үй-бүлөлөр жөнүндө маалыматты билүү бизге таптакыр кереги жок болуп калышы мүмкүн, бул жерде жалкоолук жардамга келет, бул үй-бүлө жөнүндө маалымат гана берorши үчүн Үй an objectисин конфигурациялоого мүмкүндүк берет. суроо-талабы боюнча, бул суроо-талапты булуттайт жана колдонмону тездетет. ©дев-бай прокси an object аркылуу талап кылынган an objectке түздөн-түз кирсек, маалымат базасына түз суроо. get() ыкмасы; колдонулганда, суралган an object маалымат базасында бар-жогуна 100 пайыз ишене албайсыз. Болбогон an objectке жетүү учурунда get(); ыкмасы null кайтып келет. Эгерде an object табылса, get() ыкмасы; an objectтин өзүн кайтарып берет жана маалымат базасына суроо дароо жасалат. 10) Гибернатта Lazy алып келүү деген эмне? Күтүү режиминдеги Жалкоо текшерүү түрү жалбырак (балдар) an objectтери менен байланышкан жана ата-энелик an objectти текшерүү өтүнүчү бар болсо, жалпы текшерүү саясатын аныктайт. Жөнөкөй мисал: Юридикалык үй бар. Анда анын номери, көчөсү, батирлердин саны жана батирлерде жашаган үй-бүлөлөр жөнүндө маалыматтар сакталат; бул үй-бүлөлөр Үй субъектине карата бала субъектисин түзөт. Биз үй жөнүндө маалымат сураганыбызда, анда жашаган үй-бүлөлөр жөнүндө маалыматты билүү бизге таптакыр кереги жок болуп калышы мүмкүн, бул жерде жалкоолук жардамга келет, бул үй-бүлө жөнүндө маалымат гана берorши үчүн Үй an objectисин конфигурациялоого мүмкүндүк берет. суроо-талабы боюнча, бул суроо-талапты булуттайт жана колдонмону тездетет. ©дев-бай прокси an object аркылуу талап кылынган an objectке түздөн-түз кирсек, маалымат базасына түз суроо. get() ыкмасы; колдонулганда, суралган an object маалымат базасында бар-жогуна 100 пайыз ишене албайсыз. Болбогон an objectке жетүү учурунда get(); ыкмасы null кайтып келет. Эгерде an object табылса, get() ыкмасы; an objectтин өзүн кайтарып берет жана маалымат базасына суроо дароо жасалат. 10) Гибернатта Lazy алып келүү деген эмне? Күтүү режиминдеги Жалкоо текшерүү түрү жалбырак (балдар) an objectтери менен байланышкан жана ата-энелик an objectти текшерүү өтүнүчү бар болсо, жалпы текшерүү саясатын аныктайт. Жөнөкөй мисал: Юридикалык үй бар. Анда анын номери, көчөсү, батирлердин саны жана батирлерде жашаган үй-бүлөлөр жөнүндө маалыматтар сакталат; бул үй-бүлөлөр Үй субъектине карата бала субъектисин түзөт. Биз үй жөнүндө маалымат сураганыбызда, анда жашаган үй-бүлөлөр жөнүндө маалыматты билүү бизге таптакыр кереги жок болуп калышы мүмкүн, бул жерде жалкоолук жардамга келет, бул үй-бүлө жөнүндө маалымат гана берorши үчүн Үй an objectисин конфигурациялоого мүмкүндүк берет. суроо-талабы боюнча, бул суроо-талапты булуттайт жана колдонмону тездетет. ©дев-бай
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION