У чым розніца паміж JPA і JDBC?


адказ 1:

JDBC - гэта стандартны інструмент для непасрэднага падлучэння да базы дадзеных і запуску SQL. Напрыклад, выберыце * з TableName і г.д. Ён можа вяртаць запісы, якія карыстальнік можа апрацоўваць у сваім дадатку, і яны могуць выконваць усе звычайныя задачы, такія як абнаўленне і выдаленне, і гэта адна з асноўных тэхналогій, якія ляжаць у большасці DBA Java (уключаючы пастаўшчыкоў JPA).

Асноўная праблема традыцыйных прыкладанняў JDBC заключаецца ў тым, што карыстальнікі часта маюць дзярмовы код, які змешвае логіку з SQL, ёсць шмат адлюстраванняў паміж запісамі і аб'ектамі і гэтак далей.

JPA - афіцыйны інструмент для рэляцыйнага аб'яднання аб'ектаў. JPA - гэта тэхналогія, якая дазваляе карыстальнікам адлюстраваць аб'екты ў кодах і табліцах баз дадзеных. JPA можа "схаваць" SQL ад распрацоўшчыка, таму ўсё, што звязана з класамі Java, і пастаўшчык дазваляе захоўваць і загружаць іх выдалена. У большасці выпадкаў файлы XML адлюстраванне альбо анатацыі сетэра і атрымання могуць быць выкарыстаны для інфармавання пастаўшчыка JPA. Якія палі ў аб'екце карыстальніка прызначаныя, якія поля ў базе дадзеных? Спячы - самы папулярны пастаўшчык СПА.

Некаторыя іншыя прыклады, уключаючы OpenJPA, Topplink і г.д.

Спячы і іншыя папулярныя пастаўшчыкі JPA пішуць SQL і выкарыстоўваюць JDBC для чытання і запісы ў і з базы дадзеных.

Вялікі дзякуй

Калі вам падабаецца мой адказ, то пагадзіцеся.


адказ 2:

Быць крыху складана зразумець розніцу паміж імі, калі вы пачатковец. Я думаю, вы павінны спачатку зразумець розніцу паміж JDBC і спячым рэжымам. Спадзяюся, вы ведаеце, што такое JDBC, усё яшчэ ў якасці кароткага апісання: JDBC расшыфроўваецца як Java Database Connectivity. JDBC - гэта Java API для падлучэння і запуску запыту ў базе дадзеных. Ён забяспечвае драйверы для падлучэння да базы дадзеных. Вы можаце выкарыстоўваць API JDBC для доступу да таблічных дадзеных, якія захоўваюцца ў любой рэляцыйнай базе дадзеных. З дапамогай API JDBC мы можам захоўваць, абнаўляць, выдаляць і здаваць дадзеныя з базы дадзеных.

Што такое зімовая спячка? У адрозненне ад JDBC, перад іх выкарыстаннем неабходна імпартаваць зімовыя бібліятэкі, у той час як JDBC з'яўляецца часткай самой J2SE. Hibernate робіць тое, што было распрацавана JDBC, але вы можаце сказаць, што Hibernate - гэта прасунуты ўзровень JDBC. Спячы рэжым спрашчае распрацоўку прыкладання Java для ўзаемадзеяння з базай дадзеных. Гэта інструмент ORM, гэта значыць прызначае аб'екты Java табліцам БД. Клас Java можа прадстаўляць табліцу ў db. Напрыклад, калі вы прысвоілі табліцу emp_26 у якасці класа супрацоўніка ў спячым рэжыме, напішыце просты аб'ектна-арыентаваны запыт, каб атрымаць усіх супрацоўнікаў з табліцы empl_26: "ад супрацоўніка" // у спячым рэжыме "выбраць * з emp_26" // у JDBC.

Ёсць шмат функцый, якія Hibernate прапануе, напрыклад, кэш, адлюстраванне адлюстраванняў, адлюстраванне спадчыны, HQL, раздзел старонкі і многае іншае, якія не даступныя ў JDBC.

JPA - гэта спецыфікацыя, набор класаў і інтэрфейсаў. JPA патрэбны інструмент для яго рэалізацыі, і гэты інструмент можа перайсці ў сон. Рэалізуючы JPA, вы можаце зрабіць тое ж самае, што і ў спячым рэжыме, але ў фармаце JPA. Калі JPA - танец, патрабуецца спячы альбо іншы інструмент, каб забяспечыць яму танцавальную сцэну. Дарэчы, гэта не азначае, што зіма ў сне не можа танчыць без JPA, у Hibernate таксама ёсць свой танец.


адказ 3:

JDBC - гэта стандарт для непасрэднага падлучэння да базы дадзеных і запуску SQL - напрыклад, B. SELECT * Ад карыстальнікаў і г.д. Ён можа вяртаць запісы, якія вы можаце апрацоўваць у вашым дадатку, і вы можаце выконваць усе звычайныя задачы, такія як INSERT, DELETE. Выкананне захаваных працэдур і г.д. Гэта адна з асноўных тэхналогій для большасці баз даных да Java (уключаючы пастаўшчыкоў JPA).

Адной з праблем з традыцыйнымі прыкладаннямі JDBC з'яўляецца тое, што ў іх часта ёсць дзярмовы код, які мае мноства адлюстраванняў паміж запісамі і аб'ектамі, логіку змешвае з SQL і г.д.

JPA - стандарт для аб'ектна-рэляцыйнага адлюстравання. Гэта тэхналогія, якую можна выкарыстоўваць для адлюстравання аб'ектаў у табліцах кода і базы дадзеных. Гэта дазваляе SQL "схаваць" ад распрацоўніка, так што ахоплены толькі класы Java. Пастаўшчык дазваляе захаваць іх і магічна загрузіць. У большасці выпадкаў файлы XML-адлюстравання альбо каментары, і кампутары сетэраў могуць быць выкарыстаны, каб паведаміць пастаўшчыку JPA, якія поля ў вашым аб'екце адлюстраваны, у якія палі ў базе дадзеных. Самым вядомым пастаўшчыком СП з'яўляецца спячы, таму гэта добры адпраўной прыклад для канкрэтных прыкладаў.

Іншыя прыклады - OpenJPA, Toplink і г.д.