SQL at HQL
SQL vs HQL
Nakabalangkas na Wika ng Query, kilala rin bilang SQL, ay isang database ng wika na gumagamit ng konsepto ng pamanggit na pamamahala ng database upang pamahalaan ang data. Ang pamamahala ng data ay kinabibilangan ng piliin ang (Kinukuha ang data mula sa isang solong o maramihang mga talahanayan), ipasok (nagdadagdag ng isa o higit pang mga hanay sa isang talahanayan), i-update (responsable para sa pagbabago ng halaga ng isa o higit pang mga hanay sa isang table) responsable para sa pagtanggal ng isa o higit pang mga hilera sa isang table) at paglikha ng schema sa pamamagitan ng mga query.
HQL, o Hibernate Query Language, nagpapalawak sa konsepto ng object-oriented programming sa umiiral na SQL. Madaling matutunan at katulad sa syntax sa SQL. Mayroon itong mga tampok tulad ng pinagsama-samang pag-andar at pangkat sa pamamagitan o pagkakasunud-sunod ng mga claus na madalas mong nakikita sa SQL.
Ang ilang mga tampok ng HQL:
Ito ay kumakatawan sa mga query sa SQL sa anyo ng mga bagay at mga katangian nito na ang batayan ng programming ng object-oriented.
Ang resulta ng query ay hindi plain data kundi isang kumbinasyon ng mga bagay na maaaring mabago batay sa programming. Ang HQL ay nagbabalik pa sa mga bagay ng bata bilang bahagi ng resulta ng query.
Naglalaman ito ng mga konsepto tulad ng pagbilang ng pahina, dynamic profiling, et al. na hindi alam sa mga developer ng SQL.
Isinulat mo ang database-uri ng mga independenteng query sa HQL na na-convert sa mga query sa SQL sa runtime.
Ipinapatupad nito ang lahat ng mga konsepto ng OOP kabilang ang mana.
Pagkakaiba sa pagitan ng SQL at HQL:
Ang SQL ay batay sa isang pamanggit na modelo ng database samantalang ang HQL ay isang kumbinasyon ng mga object-oriented programming na may pamanggit na mga konsepto ng database.
Manipulahin ang SQL data na nakaimbak sa mga talahanayan at binabago ang mga hilera at haligi nito. Nababahala ang HQL tungkol sa mga bagay at mga katangian nito.
Nababahala ang SQL tungkol sa relasyon na umiiral sa pagitan ng dalawang talahanayan habang isinasaalang-alang ng HQL ang ugnayan sa pagitan ng dalawang bagay.
Buod:
1. HQL ay katulad sa SQL at din case insensitive.
2. HQL at SQL parehong mga query sa sunog sa isang database. Sa kaso ng HQL, ang mga tanong ay nasa
ang anyo ng mga bagay na isinalin sa mga query sa SQL sa target na database.
3. Ang SQL ay gumagana sa mga talahanayan at haligi upang mamanipula ang data na nakaimbak dito.
4. Ang HQL ay gumagana sa mga klase at sa kanilang mga ari-arian upang sa wakas ay mai-map sa isang istraktura ng talahanayan
sa isang database.
5. Ang HQL ay sumusuporta sa mga konsepto tulad ng polymorphism, inheritance, association, atbp. Ito ay isang
malakas at madaling-malaman na wika na ginagawang SQL object oriented.
6. Hinahayaan ka ng SQL na baguhin ang data sa pamamagitan ng insert, update, at magtanggal ng mga query. Pwede kang magdagdag
mga talahanayan, pamamaraan, o mga pagtingin sa iyong database. Ang mga pahintulot sa mga dagdag na bagay na ito
maaari pang baguhin.