JPA және күту режимі
Кәсіпорын қолданбаларының барлығы дерлік реляциялық дерекқорларға жүйелі түрде кіру үшін қажет. Бірақ бұрынғы технологиялармен (мысалы, JDBC) кездесетін мәселе кедергінің сәйкессіздігі болды (объектіге бағытталған және реляциялық технологиялар арасындағы айырмашылық). Бұл мәселенің шешімі бизнес логикасынан дерекқорға кіруді инкапсуляциялайтын Тұрақтылық деңгейі деп аталатын дерексіз қабатты енгізу арқылы енгізілді. JPA (Java Persistence API) - Java қолданбаларында реляциялық деректерді (тұрақтылық деңгейін пайдалану) басқаруға арналған құрылым. Java әзірлеушілер қауымдастығында қолданылатын көптеген JPA жеткізушілері бар. Күту күйі - JPA-ның ең танымал іске асырылуы (DataNucleus, EclipseLink және OpenJPA басқалары). Ең жаңа JPA нұсқасына (JPA 2.0) 2010 жылдың наурыз айында шыққан Hibernate 3.5 толық қолдау көрсетеді.
JPA дегеніміз не?
JPA - Java үшін реляциялық деректерді басқаруға арналған құрылым. Оны JSE (Java Platform, Standard Edition) немесе JEE (Java Platform, Enterprise Edition) пайдаланатын қолданбалармен пайдалануға болады. Оның қазіргі нұсқасы – JPA 2.0, ол 2009 жылдың 10 желтоқсанында шығарылды. JPA EJB 2.0 және EJB 1.1 нысан бұршақтарын ауыстырды (олар Java әзірлеушілер қауымдастығы тарапынан ауыр салмақты болғандықтан қатты сынға алынды). Кәсіпорын бұршақтары (EJB-де) тұрақтылық нысандарын қамтамасыз еткенімен, көптеген әзірлеушілер оның орнына DAO (Data Access Objects) және басқа ұқсас құрылымдар ұсынатын салыстырмалы түрде жеңіл нысандарды пайдалануға үйренген. Нәтижесінде JPA енгізілді және ол жоғарыда аталған фреймворктардың көптеген ұқыпты мүмкіндіктерін қамтыды.
JPA-да сипатталғандай тұрақтылық API-ны қамтиды (javax.тұрақтылық), JPQL (Java платформасы, Enterprise Edition) және реляциялық нысандар үшін қажетті метадеректер. Тұрақтылық нысанының күйі әдетте кестеде сақталады. Нысанның даналары реляциялық деректер қорының кестесінің жолдарына сәйкес келеді. Метадеректер субъектілер арасындағы қатынастарды білдіру үшін пайдаланылады. Аннотациялар немесе бөлек XML дескриптор файлдары (бағдарламамен бірге орналастырылған) нысан сыныптарында метадеректерді көрсету үшін пайдаланылады. SQL сұрауларына ұқсас JPQL сақталған нысандарды сұрау үшін пайдаланылады.
Ұйқы күйі дегеніміз не?
Ұйқы режимі Java бағдарламалау тіліне арналған объектілік қатынасты салыстыру үшін пайдаланылуы мүмкін құрылым. Нақтырақ айтсақ, бұл объектілік реляциялық модельді әдеттегі реляциялық модельге салыстыру үшін пайдаланылуы мүмкін ORM (объект-реляциялық салыстыру) кітапханасы. Қарапайым тілмен айтқанда, ол Java сыныптары мен реляциялық дерекқорлардағы кестелер арасында, сонымен қатар Java және SQL деректер түрлері арасында салыстыруды жасайды. Күту режимін деректерді сұрау және SQL қоңырауларын жасау арқылы шығарып алу үшін де пайдалануға болады. Сондықтан бағдарламашы нәтижелер жиынын қолмен өңдеуден және нысандарды түрлендіруден босатылады. Күту режимі GNU лицензиясы бойынша таратылатын тегін және ашық бастапқы негіз ретінде шығарылады. JPA API үшін іске асыру Hibernate 3.2 және одан кейінгі нұсқаларында берілген. Гэвин Кинг - Hibernate жүйесінің негізін қалаушы.
JPA мен күту режимінің айырмашылығы неде?
JPA Java қолданбаларындағы реляциялық деректерді басқаруға арналған негіз болып табылады, ал күту күйі - JPA-ның арнайы іске асуы (сондықтан JPA мен күту режимін тікелей салыстыруға болмайды). Басқаша айтқанда, Hibernate JPA іске асыратын ең танымал фреймворктардың бірі болып табылады. Күту күйі күту күйінің негізгі кітапханаларының үстіне енгізілген Күту күйіндегі аннотация және EntityManager кітапханалары арқылы JPA-ны жүзеге асырады. EntityManager және Аннотациялар күту күйінің өмірлік циклін бақылайды. Ең жаңа JPA нұсқасына (JPA 2.0) Hibernate 3.5 толық қолдау көрсетеді. JPA стандартталған интерфейске ие болу артықшылығына ие, сондықтан әзірлеушілер қауымдастығы оны күту режиміне қарағанда көбірек біледі. Екінші жағынан, жергілікті Hibernate API интерфейстерін қуаттырақ деп санауға болады, себебі оның мүмкіндіктері JPA мүмкіндіктерінің жоғарғы жиынтығы болып табылады.