2014-12-13 16 views
28

Tôi đã đọc về chúng thông qua các tài nguyên khác nhau. Importants người là: -JPA vs ORM vs Hibernate?

  1. bài viết trên Wikipedia về mỗi trong số họ
  2. What's the difference between JPA and Hibernate?

Đây là hiểu biết của tôi về whats sự khác biệt b/w họ. Tôi không chắc chắn nếu tôi đúng về JPA vs ORM

  1. ORM: Object Relational Mapping là khái niệm/quá trình chuyển đổi dữ liệu từ ngôn ngữ hướng đối tượng để quan hệ DB và ngược lại Ví dụ trong java của nó được thực hiện với sự trợ giúp của sự phản chiếu và jdbc.

  2. Hibernate: Việc thực hiện khái niệm trên.

  3. JPA: Đó là một bước trên ORM. API và đặc tả mức cao của nó để các công cụ ORM khác nhau có thể triển khai để nó cung cấp sự linh hoạt cho nhà phát triển để thay đổi việc thực hiện từ ORM này sang ORM khác (ví dụ: nếu ứng dụng sử dụng api JPA và triển khai là ngủ đông. chuyển sang iBatis nếu cần thiết. Nhưng mặt khác nếu ứng dụng trực tiếp khóa thi với Hibernate mà không cần nền tảng JPA, switiching sẽ là nhiệm vụ mạnh như Hercules)

có thể có thực hiện ORM có/không có JPA specification.For ví dụ như trong phần link này dưới phần ngủ đông chỉ có Phiên bản Hibernate 3.2 và mới hơn cung cấp triển khai cho Java Persis tence API

+0

Bạn hoàn toàn đúng. ORM đơn giản là tên cho khái niệm hoặc ánh xạ OO -> RMDBS. JPA là Java Persistence API, được chỉ định như một phần của đặc tả JavaEE. Hibernate là một trong những triển khai hoặc API đó. Có rất nhiều phiên bản của JPA và các phiên bản khác nhau của Hibernate thực hiện các phiên bản khác nhau của API JPA. –

+1

Tôi không chắc chắn lý do tại sao nó nhận được phiếu bầu tiêu cực quá với 5 giây sau khi đăng. Sẽ đánh giá cao nếu downvoter có thể cung cấp cho tôi thông tin phản hồi để tôi có thể cải thiện thời gian tới –

+0

@BoristheSpider Thanx. Tôi có đúng về JPA không? –

Trả lời

21
  1. ORM là phương pháp lấy dữ liệu hướng đối tượng và ánh xạ tới kho dữ liệu quan hệ (ví dụ: một RDBMS)

  2. Hibernate là một thực hiện một framework ORM

  3. JPA là EE tiêu chuẩn đặc điểm kỹ thuật cho ORM trong Java EE. Hibernate cũng là một việc thực hiện đặc tả này, trong đó bạn có thể sử dụng các API JPA tiêu chuẩn và định cấu hình ứng dụng của bạn để sử dụng Hibernate làm nhà cung cấp thông số kỹ thuật dưới các bìa.

Các tính năng mà Hibernate cung cấp cũng là một tập hợp các tính năng ORM được chỉ định trong thông số JPA. Có nghĩa là, trong khi nó cung cấp việc thực hiện api JPA, nó cũng cung cấp nhiều tính năng hơn những gì JPA chỉ định.

+0

Hibernate là thực hiện JPA hoặc ORM? Bit bối rối .. –

+1

Hibernate là một triển khai thực hiện thông số JPA, mà chính nó là một phần của đặc tả Java EE. ORM là cách tiếp cận của các đối tượng ánh xạ tới các bảng quan hệ. –

1

Sai lầm duy nhất bạn dường như làm cho trong sự hiểu biết của bạn là

của nó là một bước tiến trên ORM

Một lưu ý nhanh chóng, Các thư viện bắt đầu với javax.persistence có liên quan với JPA. Bạn nên sử dụng chúng trên Thư viện Hibernate bất cứ khi nào có thể. Bởi vì đây là Portable.Tuy nhiên, bạn sẽ nhận được một số tính năng bổ sung trong Hibernate, và trong những trường hợp chính xác, xin vui lòng sử dụng Hibernate.

Các vấn đề liên quan