Tôi đang phát triển một ứng dụng Java Desktop nhưng có một số nhầm lẫn trong việc lựa chọn một công nghệ cho lớp kiên trì của tôi.Hibernate hoặc JPA hoặc JDBC hoặc?
Cho đến bây giờ, tôi đã sử dụng JDBC cho các hoạt động DB. Bây giờ, Gần đây tôi đã học Hibernate và JPA nhưng tôi vẫn là người mới làm quen với những công nghệ này.
Bây giờ câu hỏi của tôi là gì để sử dụng cho ứng dụng Java Desktop của tôi sau đây?
JPA
Hibernate
JDBC
DAO
bất cứ đề nghị khác từ bạn ...
Tôi biết rằng không có sự lựa chọn tốt nhất từ họ và nó hoàn toàn phụ thuộc vào sự phức tạp và requeirements của dự án nên dưới đây là những yêu cầu của dự án của tôi
- Nó không phải là một ứng dụng phức tạp. Nó chỉ chứa 5 bảng (và 5 thực thể)
- Tôi không thể làm cho mã của mình linh hoạt để tôi có thể thay đổi cơ sở dữ liệu sau một cách dễ dàng
- Kích thước của ứng dụng sẽ càng nhỏ càng tốt vì tôi sẽ phải phân phối nó cho khách hàng của tôi thông qua internet.
- Nó phải được sử dụng miễn phí trong phát triển và phân phối thương mại.
==================================== EDITED ======= ================================
Trên cơ sở các câu trả lời dưới đây, tôi muốn đi với JPA để ngăn bản thân tôi viết mã SQL của nhà cung cấp cụ thể.
Nhưng tôi có một số vấn đề trong JPA được nêu tại Java Persistence API
Bạn có thể quan tâm đến câu hỏi trước đây của tôi: "Hibernate vs JPA vs JDO - ưu và nhược điểm của mỗi?" http://stackoverflow.com/questions/530215/hibernate-vs-jpa-vs-jdo-pros-and-cons-of-each –
Ngoài ra, hãy kiểm tra http://stackoverflow.com/questions/2397016/java-jdbc- lựa chọn thay thế/ –