JavaRush /Java Blog /Random-TL /Hibernate para sa mga dummies. Pagsusuri ng aklat na "Jav...

Hibernate para sa mga dummies. Pagsusuri ng aklat na "Java Persistence API and Hibernate"

Nai-publish sa grupo
Hindi lihim na karamihan sa teknikal na panitikan sa mundo ay nakasulat sa Ingles. At ang pag-unlad ng Java ay walang pagbubukod dito - isang makabuluhang bahagi ng mga materyales ay alinman sa hindi magagamit sa Russian, o isinalin sa paraang mas mahusay na matuto gamit ang Google translate. Mas magiging masaya para sa buong komunidad ng Java na nagsasalita ng Ruso na ang pinakasikat na aklat sa paksang ito, "Java Persistence API with Hibernate," ay isinalin sa Russian mga anim na buwan na ang nakalipas.
Hibernate para sa mga dummies.  Pagsusuri ng Aklat
Kung gusto mong maging isang developer ng Java - isang araw kailangan mong matutunang gumamit ng Hibernate . Siyempre, may mga pagbubukod sa anumang panuntunan, ang lahat ay nakasalalay sa partikular na proyekto, atbp. Ngunit kung titingnan mo ang iyong karera sa mahabang panahon, sa totoong trabaho ay tiyak na makikita mo ang aklatang ito. Nang walang pagmamalabis, ang aklat na ipinakita sa artikulo ay maaaring tawaging pangunahing: ito ang pangunahing gabay sa Hibernate sa lahat ng isinulat tungkol sa teknolohiyang ito. Ito ay ipinaliwanag medyo madali, dahil kabilang sa mga may-akda nito ay ang tagapagtatag ng Hibernate project, si Gavin King, at si Christian Bauer, isang miyembro ng Hibarnate development team. Para sa akin personal, ito ay agad na kumilos bilang isang uri ng garantiya ng kalidad: kung sino ang magaling sa paghalungkat sa teknolohiya kung hindi ang mga lumikha nito :) Sa kabilang banda, hindi palaging ang isang mahusay na espesyalista o kahit na ang lumikha ng isang ang teknolohiya ay maaaring sumulat ng isang madaling maunawaang aklat na pang-edukasyon. Anuman ang maaaring sabihin, ang personal na kasanayan at ang kakayahang magturo ay halos walang kaugnayan sa isa't isa. Ang isang halimbawa ay ang maalamat na "The Art of Programming" ni Knuth o ang "C++ Programming Language" mula sa lumikha nito na si Bjarne Stroustrup. At kung imposibleng tanggihan ang pinakamataas na antas ng kaalaman ng mga may-akda, kung gayon ang kanilang mga libro, sa madaling salita, mahirap basahin. Sa kabutihang palad, ang mga tagalikha ng Hibernate at ang mga may-akda ng aklat na ito ay lumikha ng isang produkto na medyo naiintindihan mula sa punto ng view ng isang baguhan na programmer. Para kanino ang aklat na ito: Tulad ng karamihan sa mga katulad na aklat, ang abstract ay nagsasabi na ito ay "para sa lahat," kabilang ang mga natututo ng Hibernate mula sa simula. Sa katunayan, mas mabuti pa rin na magkaroon ng ilang paunang paghahanda sa anyo ng mga kaugnay na teknolohiya. Nasa ibaba ang isang listahan ng mga bagay na magpapagaan ng iyong buhay kapag binabasa ang aklat na ito.
  1. Kung hindi mo alam kung ano ang mga relational database, hindi ka makakagawa ng table o magsulat kahit isang simpleng SELECT query, atbp. - mas mahusay na magsimula dito. Sa pamamagitan ng paraan, ito ay magiging kapaki-pakinabang para sa mga nagpaplanong lumahok sa internship ng JavaRush. Magsimula sa SQL, Hibernate mamaya. Sa kabutihang palad, isang mahusay na Head-First ang isinulat sa SQL (para sa aking panlasa, isa sa pinakamahusay na HeadFirst sa buong serye).

  2. JDBC . Ang teknolohiya ay malayo sa bago, ngunit maraming may karanasan na mga developer ang mas gusto pa rin ito sa Hibernate.

  3. Pagkatapos nito, mainam na basahin (kahit mababaw lang) tungkol sa kung ano ang ORM at kung bakit ito kailangan . Pagkatapos ng lahat, ang Hibernate ay una at pangunahin sa isang ORM, iyon ay, isang bagay na ginagawang mga bagay sa Java sa mga talaan ng database (at kabaliktaran).

    Halimbawa, mayroon kang klase ng User, klase ng Auto, at ang bawat User ay may listahan ng mga sasakyan na List<Auto> nito.

    Paano i-record ang lahat ng ito sa isang database upang ang mga koneksyon sa pagitan ng mga gumagamit at kanilang mga makina ay mapangalagaan? Pagkatapos ng lahat, mayroon lamang isang gumagamit, ngunit maaari siyang magkaroon ng maraming mga makina:/ Paano namin awtomatikong tatanggalin ang lahat ng mga makina ng gumagamit mula sa database kung kami mismo ang nagtanggal ng gumagamit (iyon ay, ipinagbabawal ang database na mag-imbak ng mga "ulila" na makina)? Hibernate lang alam kung paano :)

  4. Bilang karagdagan, ang Java ay may sariling pagpapatupad ng modelong ORM - Java Persistence API , o simpleng JPA. Napag-usapan din ito sa libro, ngunit mas mabuting i-skim muna ito. Hindi mo kailangang magbasa ng napakaraming literatura sa paksa: kung alam mo kung ano ang POJO, Entity, at kung anong mga kinakailangan ang naaangkop sa Entity, magiging maganda ito.

  5. Kung hindi ka pamilyar sa XML na format , oras na para maging pamilyar dito bago basahin ang aklat na ito. Kadalasan, ang mga file ng config ng Hibernate (pati na rin ang Spring) ay nakasulat sa XML na format, at kung kinikilabutan ka nito, magiging mas mahirap basahin ang aklat.

  6. Kung pamilyar ka sa mga pattern ng disenyo (hindi bababa sa mga gawain ng JavaRush), maaari mong basahin ang tungkol sa pattern ng DAO at kung bakit ito kinakailangan. Napakadaling ipatupad ng DAO gamit ang Hibernate. Sa pamamagitan ng paraan, ang mga kalahok sa internship ay lilikha ng "daos" kapag nagsusulat ng isang pagsubok na gawain (at sa proyekto mismo, masyadong). At sa totoong trabaho, ang paglikha ng mga ito ay isang nakagawiang gawain, kaya hindi ito magiging kalabisan.

Ang paunang kakilala sa lahat ng nasa itaas ay lubos na magpapasimple sa iyong pag-aaral (at sa trabaho, ito, tulad ng sinasabi nila, ay dapat na mayroon). Sa konklusyon - isang maliit na IMHO tungkol sa mga pakinabang at disadvantages ng libro. Mga kalamangan:
  • Isang magandang pagsasalin mula sa Ingles . Sa palagay ko ay hindi ito nagkakahalaga ng pagsulat nang hiwalay tungkol sa kahalagahan ng puntong ito. Siyempre, ang orihinal ay palaging magiging mas mahusay, at kung alam mo ang Ingles sa isang sapat na antas, mas mahusay na basahin ito. Gayunpaman, para sa mga hindi pa komportable sa Ingles, ngunit ayaw huminto sa pag-aaral dahil dito, ito ay isang mahusay na pagpipilian.

  • Napakalawak na saklaw ng mga paksa . Halos lahat ng "loob" ng silid-aklatan ay inilarawan. Tungkol sa isang bagay sa napakahusay na detalye, tungkol sa isang bagay na mas matipid. Ngunit sa pangkalahatan, ang saklaw ay naging medyo disente.

  • Simple at naiintindihan na wika .

Sa mga minus, maaari ko lamang i-highlight ang mga halimbawa. Sa palagay ko, maaari silang maging mas simple at mas maigsi. At dahil sa dami ng bagong impormasyon na nahuhulog sa mambabasa, maaaring mahirap para sa isang baguhan na mag-compile at gumawa ng buong bagay. Hindi sa banggitin ang pag-unawa sa kung ano ang nangyayari sa code. Maaari kong personal na irekomenda na huwag kang mag-abala sa pag-clone ng mga halimbawa mula sa GitHub at i-type mo ang mga ito. At maiintindihan mo ito, at magiging mas mahusay ang iyong pang-unawa. Mas mabuti pa, pagkatapos basahin ang susunod na kabanata, mag-isip at magpatupad ng ilang gawain sa iyong sarili. Ito ay magiging mas produktibo, kahit na ang gawain ay napaka-simple. Sulit ba ang pagbili ng libro? Siguradong oo. Bukod dito, ang sirkulasyon ng papel nito ay 200 kopya lamang :) Batay sa mga materyales ng aklat na ito, madali kong naisulat ang aking unang artikulo sa Habrahabr. At ang pangangasiwa ng JavaRush, sa aking opinyon, ay dapat talagang idagdag ito sa listahan ng mga premyo para sa kanilang kumpetisyon :) Salamat sa iyong pansin, at good luck sa iyong pag-aaral!
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION