Ո՞րն է տարբերությունը JPA- ի և JDBC- ի միջև:


պատասխանել 1:

JDBC- ը ստանդարտ գործիք է `ուղղակիորեն տվյալների շտեմարանին միանալու և SQL- ն աշխատելու համար: Օրինակ, ընտրեք * TableName- ից և այլն: Այն կարող է վերադառնալ գրառումներ այն մասին, որ օգտագործողը կարող է մշակել իրենց ծրագրում և կարող է կատարել բոլոր սովորական առաջադրանքները, ինչպիսիք են թարմացումը և ջնջումը: Դա Java DBA- ի մեծ մասի հետևյալ տեխնոլոգիաներից մեկն է (ներառյալ JPA պրովայդերները):

JDBC ավանդական հավելվածների հիմնական խնդիրն այն է, որ օգտվողները հաճախ ունենում են խայտառակ կոդ, որը տրամաբանությունը խառնվում է SQL- ի հետ, գրառումների և օբյեկտների միջև կան բազմաթիվ գծագրումներ և այլն:

JPA- ն օբյեկտիվ կապի քարտեզագրման պաշտոնական գործիք է: JPA- ն տեխնոլոգիա է, որը թույլ է տալիս օգտվողներին քարտեզագրել առարկաների ծածկագիրը և տվյալների բազայի աղյուսակները: JPA- ն կարող է «թաքցնել» SQL- ը ծրագրավորողից, այնպես որ Java- ի դասերի հետ կապված ամեն ինչ, և պրովայդերը թույլ է տալիս պահպանել և բեռնել դրանք հեռակա կարգով: Ժամանակի մեծ մասի համար, XML քարտեզագրման ֆայլերը կամ գրառումները տպիչների և ստացողների վրա կարող են օգտագործվել JPA մատակարարին տեղեկացնելու համար: Օգտագործողի օբյեկտի ո՞ր դաշտերն են հատկացված տվյալների բազայում ո՞ր դաշտերին: Ձմեռելն ամենատարածված JPA մատակարարն է:

Որոշ այլ օրինակներ, ներառյալ OpenJPA, Topplink և այլն:

Hibernate- ը և JPA- ի մյուս հանրաճանաչ պրովայդերները գրում են SQL և օգտագործում JDBC ՝ տվյալների բազայից կարդալու և գրելու համար:

Շատ շնորհակալ եմ:

Եթե ​​սիրում եք իմ պատասխանը, ապա համաձայնեք:


պատասխանել 2:

Մի փոքր բարդ կլիներ հասկանալ երկուսի միջև եղած տարբերությունը, եթե սկսնակ եք: Կարծում եմ, որ նախ պետք է հասկանաք JDBC- ի և Hibernate- ի տարբերությունը: Հուսով եմ, որ դուք գիտեք, թե որն է JDBC- ն, այնուամենայնիվ, որպես հակիրճ նկարագրություն. JDBC- ն հանդես է գալիս Java տվյալների բազաների միացման համար: JDBC- ն Java API- ն է տվյալների շտեմարանի դեմ հարցումը միացնելու և վարելու համար: Այն վարորդներին հնարավորություն է տալիս կապել տվյալների բազան: Relationանկացած կապի տվյալների բազայում պահվող աղյուսակային տվյալներ մուտք գործելու համար կարող եք օգտագործել JDBC API- ն: Օգտագործելով JDBC API- ն ՝ մենք կարող ենք պահպանել, թարմացնել, ջնջել և առբերել տվյալների բազան:

Ինչ է հիմա ձմեռում: Ի տարբերություն JDBC- ի, դրանք օգտագործելուց առաջ պետք է ներմուծեք Hibernate գրադարաններ, մինչդեռ JDBC- ն ինքնին J2SE- ի մասն է: Hibernate- ը անում է այն, ինչ նախատեսված էր JDBC- ի համար, բայց կարող եք ասել, որ Hibernate- ը JDBC- ի առաջատար մակարդակ է: Ձմեռանը հեշտացնում է Java հավելվածի մշակումը `տվյալների բազաների հետ փոխազդելու համար: Դա ORM գործիք է, այսինքն ՝ այն Java օբյեկտները վերագրում է DB աղյուսակներին: Java դասը կարող է ներկայացնել db սեղան: Օրինակ, եթե դուք emp_26 աղյուսակը նշանակեցիք որպես Hibernate- ի Employee դասարան, գրեք մի պարզ օբյեկտի վրա հիմնված հարցադրում ՝ empl_26 աղյուսակից բոլոր աշխատողներին ստանալու համար. «Employee» - ից // Hibernate- ում «ընտրեք * emp_26» - ից JDBC:

Կան մի շարք առանձնահատկությունների դժոխք, որոնք Hibernate- ն առաջարկում է, օրինակ ՝ քէշը, քարտեզագրումը քարտեզը, ժառանգության քարտեզագրումը, HQL, էջագրումը և ավելին, որոնք մատչելի չեն JDBC- ում:

JPA- ն հստակեցում է, դասերի և միջերեսների շարք: JPA- ին այն իրականացնելու գործիք է պետք, և այս գործիքը կարելի է քնել: Իրականացնելով JPA, դուք կարող եք անել նույնը, ինչ Hibernate- ը, բայց JPA ձևաչափով: Եթե ​​JPA- ն պար է, ապա Hibernate- ը կամ այլ գործիք է պահանջվում `այն պարելու փուլ ապահովելու համար: Ի դեպ, դա չի նշանակում, որ Hibernate- ը չի կարող պարել առանց JPA, Hibernate- ն ունի նաև իր պարը:


պատասխանել 3:

JDBC- ն շտեմարան է ուղղակիորեն միանալու և SQL- ի գործարկման ստանդարտ է. Օր. B. SELECT * ՕԳՏԱԳՈՐԾԱԿԱԼՆԵՐԻ կողմից և այլն: Այն կարող է վերադարձնել գրառումներ, որոնք դուք կարող եք մշակել ձեր հավելվածում և կարող եք կատարել բոլոր սովորական առաջադրանքները, ինչպիսիք են INSERT- ը, DELETE- ը: Կատարել պահեստավորված ընթացակարգեր և այլն: Սա Java- ի տվյալների բազայի հասանելիության մեծ մասի հիմքում ընկած տեխնոլոգիաներից մեկն է (ներառյալ JPA պրովայդերները):

JDBC ավանդական հավելվածների հետ կապված խնդիրներից մեկն այն է, որ նրանք հաճախ ունենում են կոշտ կոդ, որն ունի շատ քարտեզագրում գրառումների և օբյեկտների միջև, տրամաբանությունը խառնվում է SQL- ի հետ և այլն:

JPA- ն օբյեկտ-հարաբերական քարտեզագրման ստանդարտ է: Սա տեխնոլոգիա է, որը դուք կարող եք օգտագործել օբյեկտների քարտեզագրման և տվյալների բազայի աղյուսակներում քարտեզագրելու համար: Սա թույլ է տալիս SQL- ին «թաքնված» լինել ծրագրավորողի կողմից, որպեսզի միայն Java դասերը ծածկվեն: Պրովայդերը թույլ է տալիս պահպանել դրանք և կախարդականորեն բեռնել դրանք: Շատ դեպքերում XML քարտեզագրման ֆայլերը կամ ստացողների և կարգավորիչների մեկնաբանությունները կարող են օգտագործվել JPA մատակարարին ասելու համար, թե ձեր օբյեկտի որ դաշտերն են քարտեզագրվում տվյալների բազայում, թե որ դաշտերը: JPA- ի ամենահայտնի մատակարարը Hibernate- ն է, այնպես որ սա լավ ելակետ է կոնկրետ օրինակների համար:

Այլ օրինակներ են ՝ OpenJPA, Toplink և այլն: