JDBC at Hibernate

Anonim

JDBC vs Hibernate

Ang Java Database Connectivity (kilala rin bilang JDBC) ay isang API na partikular na binuo para sa Java programming language. Tinutukoy nito kung paano ma-access ng isang client ang isang database sa pamamagitan ng pagbibigay ng mga pamamaraan para sa query at pag-update ng data sa isang database. Ito ay nakatuon nang mas partikular sa mga database ng pamanggit. Ito ay unang ipinakilala sa merkado bilang isang bahagi ng Java 2 Platform, Standard Edition, bersyon 1.1 (o J2SE). Ito ay kasama ng isang pagpapatupad ng sanggunian JDBC sa ODBC bridge, na nagpapagana ng mga koneksyon sa API sa anumang pinagmulan ng data na naa-access ng ODBC sa kapaligiran ng host JVM.

Hibernate ay isang object oriented mapping library (o ORM library) na partikular na binuo para sa wika ng Java. Nagbibigay ito ng balangkas para sa pagmamapa ng isang modelo ng object oriented na domain sa isang tradisyonal na pamanggit na database. Sinusukat din nito ang bagay na mga problema sa relatibong impedance mismatch -nga ang mga problema kung saan ang isang pamanggit na sistema ng pamamahala ng database (o RDBMS) ay ginagamit ng isang programa na nakasulat sa isang object oriented na programming language o estilo. Gagagawa nito ito sa pamamagitan ng pagpapalit ng direktang pag-access sa mga kaugnay na database na may access sa mataas na antas ng pag-andar ng mga pag-andar. Ito ay libre, open source software at ipinamamahagi sa ilalim ng GNU Lesser General Public License.

Gumagana ang JDBC sa pamamagitan ng pagpapahintulot ng iba't ibang mga pagpapatupad na umiiral at ginagamit ng parehong application. Nagbibigay ito ng isang mekanismo kung saan ang wastong mga pakete ng Java ay dynamic na na-load at nakarehistro sa JDBC Driver Manager-na ginagamit bilang isang pabrika ng koneksyon, ng mga uri, na lumilikha ng mga koneksyon sa JDBC. Sinusuportahan ng mga koneksyon na ito ang paglikha at pagpapatupad ng mga pahayag. Sila ay maaaring i-update ang mga pahayag (ang SQLs LILIKHA, INSERT, UPDATE, at DELETE, halimbawa). Maaari din silang maging mga tanong sa query tulad ng PUMILI. Ang isang koneksyon sa JDBC ay maaari ding tumawag sa mga naka-imbak na pamamaraan -ang mga pamamaraan na nakaimbak sa database ng data dictionary.

Hibernate lalo na mga pag-andar upang i-map mula sa mga klase ng Java sa mga talahanayan ng database, pati na rin mula sa mga uri ng Java na data sa mga uri ng SQL na data. Nagbibigay din ito ng query ng data at mga pasilidad ng pagkuha. Ito ay magagawang upang makabuo ng mga tawag sa SQL, kaya relieving ang developer mula sa manu-manong resulta ng paghawak ng paghawak at object conversion. Pinapanatili nito ang application portable sa lahat ng SQL database na sinusuportahan sa pamamagitan ng library. Naglilista ito ng mga klase sa Java sa mga talahanayan ng database sa pamamagitan ng pagsasaayos ng isang XML file (kung saan ang Hibernate ay makakapagbuo ng skeletal source code para sa mga klase ng pagtitiyaga) o paggamit ng Java Annotation (na ginagawang ang dating aksyon na moot). Sinusuportahan din ng pagtulog sa panahon ng tagaytay ang pagma-map ng mga uri ng custom na halaga, na ginagawang posible ng tatlong tukoy na sitwasyon: pag-override sa default na uri ng SQL, pinili ng Hibernate kapag nagma-map ng haligi sa isang ari-arian; pagma-map ng Java Enum sa mga hanay na parang sila ay mga regular na katangian; at pagma-map ng isang solong ari-arian sa maramihang mga haligi.

Buod:

1. JDBC ay isang API na tumutukoy kung paano ma-access ng isang client ang isang database; Ang hibernate ay isang ORM library na nagbibigay ng balangkas para sa pagmamapa ng isang object oriented domain model sa isang tradisyunal na database ng pamanggit.

2. Pinapayagan ng JDBC ang iba't ibang mga pagpapatupad na umiiral at sa pamamagitan ng paggamit ng parehong application; Hibernate ang mga mapa mula sa mga klase ng Java sa mga talahanayan ng database.