JPA đã được xác định để thống nhất và thay thế các thông số kỹ thuật Java bền bỉ tồn tại trước đó của EJB CMP và JDO. JPA được phát hành như một phần của EJB 3.0 và là một phần của đặc tả Java EE được hỗ trợ bởi Oracle WebLogic, IBM Websphere, Redhat JBoss và bất kỳ nhà cung cấp Java EE nào khác.
Có nhiều sản phẩm hàng đầu hỗ trợ JPA (TopLink/EclipseLink, Hibernate, OpenJPA, DataNucleus), nhưng ít hoặc không hỗ trợ JDO hoặc CMP. Vì vậy, có vẻ như JPA đã làm tốt công việc thay thế cả hai. Đối với JPA chỉ là RDBMS, đó là hoàn toàn sai, (ngay cả DataNucleus là sản phẩm JDO duy nhất còn lại mà tôi biết, hỗ trợ JPA trên bất kỳ nền tảng không quan hệ nào mà nó hỗ trợ JDO). Ngoài ra còn có nhiều sản phẩm khác hỗ trợ JPA trên các nền tảng không quan hệ, chẳng hạn như hỗ trợ NoSQL và EIS của EclipseLink (MongoDB, Oracle NoSQL, XML, cơ sở dữ liệu kế thừa), Kundera, DataNucleus, thậm chí các cơ sở dữ liệu đối tượng như ObjectDB hỗ trợ JPA là API Java của họ.
liên quan: http://stackoverflow.com/questions/530215/hibernate-vs-jpa-vs-jdo-pros-and-cons-of-each –
@matt - từ bạn câu hỏi tôi không thấy bất kỳ câu trả lời nào cung cấp cho sự khác biệt. Bạn hỏi về những ưu và khuyết điểm, tôi sẽ đánh giá những người sau khi hiểu sự khác biệt giữa hai đặc điểm kỹ thuật. – n002213f