2012-06-23 40 views
18

Để ngắn gọn và ngọt ngào:Hibernate - sự khác biệt giữa chú thích và chú thích commons?

Có chú thích hibernate-commons 4.1.0-Chú thích cuối cùng và ngủ đông 3.5.6-Final.

Tôi là nub, sự khác nhau giữa chúng là gì và tôi có cần cả hai?

Cố gắng "tránh" JPA và điều đó có nghĩa là tôi sử dụng các tiêu chuẩn JPA 2.0 được nhúng trong Hibernate.

Cảm ơn!

Trả lời

33

Trước đây, chú thích ngủ đông được phát hành và được phiên bản từ lõi ngủ đông. Nhưng từ phiên bản 3.5 trở lên nó được bao gồm với lõi ngủ đông. Và vì lý do nào đó nó vẫn được phát hành từ 3.5.0 đến 3.5.6 nhưng bạn không cần nó nữa.

Và đến với chú thích hibernate-commons, nó là một dự án tiện ích được sử dụng bởi các chú thích dựa trên các dự án con ngủ đông. Nó được sử dụng bởi các dự án ngủ đông khác như hibernate-search và do đó được duy trì như một dự án riêng biệt và nó là một sự phụ thuộc thời gian biên dịch cho hibernate-core v3.6.0 trở lên.

Source 1 Source 2

+0

Câu trả lời hay! Đã thêm vào https://community.jboss.org/wiki/HibernateCompatibilityMatrix nếu bạn không phiền. –

+0

Chắc chắn, không sao cả! – Ravi

1

Hibernate Commons Chú thích là "Dự án Utility để xử lý chú thích", như đã nói ví dụ here. Nó không chứa API như vậy mà người dùng bình thường của Hibernate nên sử dụng.

Chú thích ngủ đông chứa các chú thích ánh xạ liên tục và mã liên quan. Ngày nay nó được sáp nhập vào lõi Hibernate.

Nếu bạn thực sự muốn tránh JPA (1/2) có thể dễ dàng thực hiện bằng cách không sử dụng các lớp học từ gói javax.persistence hoặc từ các gói con của nó. Nếu bạn muốn đối diện, hãy sử dụng javax.persistence và tránh các gói org.hibernate nếu có thể.

Hướng dẫn tốt để bắt đầu với Hibernate có thể được tìm thấy từ http://docs.jboss.org/hibernate/orm/4.1/quickstart/en-US/html_single/. Nó cũng cho biết thư viện nào là cần thiết luôn và những thư viện nào là tùy chọn.

Reference documentation chứa nhiều lời khuyên về việc sử dụng JPA thay vì chú thích Hibernate cũ không còn được dùng nữa.

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