რა განსხვავებაა JPA და JDBC– ს შორის?


პასუხი 1:

JDBC არის სტანდარტული ინსტრუმენტი, რომელიც უშუალოდ მონაცემთა ბაზაში არის დასაკავშირებლად და SQL- ით გაშვებული. მაგალითად, აირჩიეთ * TableName- დან და ა.შ. მას შეუძლია დაუბრუნოს ჩანაწერები, რომ მომხმარებელს შეუძლია დაამუშაოს თავიანთი აპლიკაცია, და მათ შეუძლიათ შეასრულონ ყველა ჩვეულებრივი დავალება, როგორიცაა განახლება და წაშლა.ეს არის ერთ – ერთი ძირითადი ტექნოლოგია Java DBA– ების უმეტესობის უკან (JPA პროვაიდერების ჩათვლით).

ტრადიციული JDBC პროგრამების ძირითადი პრობლემა ის არის, რომ მომხმარებლებს ხშირად აქვთ shitty კოდი, რომელიც აერთიანებს ლოგიკას SQL- სთან, უამრავი ჩანაწერია ჩანაწერებსა და ობიექტებს შორის და ა.შ.

JPA არის ოფიციალური ობიექტის ურთიერთკავშირის რუქების ინსტრუმენტი. JPA არის ტექნოლოგია, რომელიც მომხმარებლებს საშუალებას აძლევს, დაადგინონ ობიექტები კოდისა და მონაცემთა ბაზის ცხრილებში. JPA- ს შეუძლია "დამალოს" SQL დეველოპერიდან, ასე რომ ყველაფერს უკავშირდება ჯავის კლასები, ხოლო პროვაიდერი საშუალებას გაძლევთ შეინახოთ და დატვირთოთ ისინი დისტანციურად. უმეტეს შემთხვევაში, XML რუკების ფაილების ან ნოტაციების ტიპაჟებზე და ამომწურავებზე შეგიძლიათ გამოიყენოთ JPA პროვაიდერის ინფორმირება. მომხმარებლის ობიექტში რომელ ველებს ენიჭება მონაცემთა ბაზაში რომელი ველი? Hibernation არის ყველაზე პოპულარული JPA პროვაიდერი.

სხვა მაგალითები, მათ შორის OpenJPA, Topplink და ა.შ.

Hibernate და სხვა პოპულარული JPA პროვაიდერები წერენ SQL და იყენებენ JDBC მონაცემთა ბაზაში წასასმენად და დასაწერად.

დიდი მადლობა

თუ მოგწონთ ჩემი პასუხი, დამეთანხმებით.


პასუხი 2:

ცოტა რთული იქნებოდა ამ ორს შორის განსხვავების გაგება, თუ დამწყები ხართ. ვფიქრობ, ჯერ უნდა გესმოდეთ განსხვავება JDBC და Hibernate- ს შორის. იმედი მაქვს, რომ იცით რა არის JDBC, მაგრამ როგორც მოკლე აღწერა: JDBC დგას Java მონაცემთა ბაზის დაკავშირებადობისთვის. JDBC არის Java API, რათა დააკავშიროთ შეკითხვის მონაცემთა ბაზა. ის უზრუნველყოფს მძღოლებთან მონაცემთა ბაზასთან დაკავშირებას. თქვენ შეგიძლიათ გამოიყენოთ JDBC API ნებისმიერი ფარდობითი მონაცემთა ბაზაში შესანახულ ტაბულურ მონაცემებზე წვდომისათვის. JDBC API– ს გამოყენებით შეგვიძლია მონაცემების შენახვა, განახლება, წაშლა და მოძიება მონაცემთა ბაზაში.

რა არის hibernation ახლა? JDBC- სგან განსხვავებით, მათ გამოყენებამდე უნდა შემოიტანოთ ჰიბერნატის ბიბლიოთეკები, ხოლო JDBC თავად J2SE- ის ნაწილია. Hibernate აკეთებს იმას, რაც JDBC– სთვის იყო შექმნილი, მაგრამ შეგიძლიათ თქვათ, რომ Hibernate არის JDBC– ის მოწინავე დონე. ჰიბერნაცია ამარტივებს ჯავის პროგრამის შემუშავებას მონაცემთა ბაზასთან ურთიერთქმედების მიზნით. ეს არის ORM ინსტრუმენტი, ანუ იგი Java ობიექტებს ანიჭებს DB ცხრილებს. ჯავის კლასს შეუძლია წარმოადგინოს ცხრილი db. მაგალითად, თუ emp_26 ცხრილი დაასახელეთ ჰიბერნატში დასაქმებულთა კლასად, ჩაწერეთ მარტივი ობიექტზე ორიენტირებული მოთხოვნა, რომ ყველა თანამშრომელი მიიღეთ empl_26 ცხრილიდან: "Employee- დან" // Hibernate- ში "აირჩიეთ * emp_26" // in JDBC.

არსებობს ჯოჯოხეთი მრავალი იმ მახასიათებლისგან, რომელსაც Hibernate გთავაზობთ, მაგალითად, ქეში, რუკების შედგენა, მემკვიდრეობის რუქა, HQL, პაგინაცია და სხვა, რომლებიც JDBC– ში მიუწვდომელია.

JPA არის დაზუსტება, კლასების და ინტერფეისის ნაკრები. JPA- ს ესაჭიროება ინსტრუმენტი, რომ განახორციელოს ის, და ეს ინსტრუმენტი შეიძლება დაიძინოს. JPA განხორციელებით, თქვენ შეგიძლიათ იგივე გააკეთოთ, როგორც Hibernate, მაგრამ JPA ფორმატით. თუ JPA არის ცეკვა, საჭიროა Hibernate ან სხვა ინსტრუმენტი, რომ უზრუნველყოს იგი ცეკვის ეტაპზე. სხვათა შორის, ეს არ ნიშნავს იმას, რომ ჰიბერნატს არ შეუძლია ცეკვავენ JPA– ს გარეშე, ჰიბერნატსაც აქვს საკუთარი ცეკვა.


პასუხი 3:

JDBC არის სტანდარტი მონაცემთა ბაზასთან უშუალოდ დასაკავშირებლად და SQL ფუნქციონირებისთვის - მაგ. B. SELECT * მომხმარებლებისგან და ა.შ. მას შეუძლია დაუბრუნოს ჩანაწერები, რომელთა დამუშავება შეგიძლიათ თქვენს აპლიკაციაში და შეგიძლიათ გააკეთოთ ყველა ჩვეულებრივი დავალება, როგორიცაა INSERT, DELETE. შეასრულეთ შენახული პროცედურები და ა.შ. ეს არის ერთ – ერთი ძირითადი ტექნოლოგია Java– ს მონაცემთა ბაზაში წვდომის უმეტესი ნაწილისთვის (JPA პროვაიდერების ჩათვლით).

ტრადიციული JDBC პროგრამების ერთ-ერთი პრობლემა ის არის, რომ მათ ხშირად აქვთ shitty კოდი, რომელსაც აქვს უამრავი ასორტიმენტი ჩანაწერებსა და ობიექტებს შორის, ლოგიკა შერეული SQL და ა.შ.

JPA არის სტანდარტი ობიექტივიზაციური რუქისთვის. ეს არის ტექნოლოგია, რომლის საშუალებითაც შეგიძლიათ გამოიყენოთ ობიექტების რუკების კოდირება და მონაცემთა ბაზის ცხრილი. ეს საშუალებას აძლევს SQL იყოს "დამალული" დეველოპერისგან ისე, რომ მხოლოდ Java- ს კლასები დაფარული იყოს. პროვაიდერი საშუალებას გაძლევთ შეინახოთ ისინი და იტვირთოთ ისინი ჯადოსნურად. უმეტეს შემთხვევაში, XML რუქა ფაილების ან შემქმნელთა და შემქმნელთა კომენტარები შეგიძლიათ გამოიყენოთ JPA პროვაიდერისთვის, რომ თქვენს ობიექტში რომელი ველებია გამოსახული მონაცემთა ბაზაში. ყველაზე ცნობილი JPA პროვაიდერი არის Hibernate, ასე რომ, ეს არის კარგი ამოსავალი წერტილი კონკრეტული მაგალითებისთვის.

სხვა მაგალითებია OpenJPA, Toplink და ა.შ.