Bài viết này mình sẽ nói sự khác nhau như thế nào giữa Hibernate và JPA theo cách hiểu đơn giản nhất mà mình hiểu.
- Đơn giản giữa JPA và Hibernate chúng ta có thể hiểu như là List và ArrayList , một bên là những đặc tả do Sun cung cấp để làm việc với môi trường trong Java EE, còn một bên (Hibernate) là cách hiện thực từ những đặc tả đó ngoài ra nó còn bổ sung thêm những cơ chế quản lý riêng của nó đảm bảo tiện ích hơn so với khi chỉ sử dụng thuần JPA.
- Vậy chúng ta có thể viết Web Application mà chỉ dùng JPA không được không???
Được nhưng với một điều kiện là chúng ta cần phải deploy lên những server mà đã được hiện thực những đặc tả của JPA như Glassfish, JBoss, Wildfly ... vì những server này nó có sẵn implementation (hibernate/eclipselink), nếu chúng ta deploy lên tomcat thì nó tạch liền :)
- Đó là 1 cái advantage và cũng là 1 disadvantage của Java EE stack:
- Advantage là chúng ta chỉ cần work trên interface (JPA API) và có thể deploy lên bất cứ Application Container nào cũng có thể chạy được.
- Disadvantage là vì chúng bắt buộc phải deploy lên 1 Java EE Container chúng ta không thế chạy lên những server không không được ^^, ví dụ: nếu muốn chạy đc với Tomcat thì chúng ta phải tự copy 1 loạt gói jar vào lib của project.
- Còn đối với Hibernate chúng ta có thể deploy trên bất cứ server nào.
Hy vọng bài viết này có thể giúp các bạn giảm được chút confuse nào đó giữa JPA và Hibernate.
The 10 best 3D sunglasses
ReplyDeleteOur favorite race tech titanium 3D titanium nipple bars glasses titanium earrings sensitive ears are the best. These glasses are ideal for those who need an omega seamaster titanium advanced 3D vision system that allows the user to see their titanium grey