Như chúng ta đã biết, truy vấn tiêu chí không được dùng nữa trong Hibernate 5. Đó là một tính năng hữu ích trong các phiên bản trước của Hibernate. Và nó vẫn hoạt động tốt hơn HQL.Tại sao truy vấn tiêu chí bị phản đối trong Hibernate 5?
Vì vậy, lý do không được dùng trong Hibernate 5 là gì?
Và câu hỏi này cũng không trùng lặp với số this question vì tôi muốn biết lý do từ chối truy vấn tiêu chí.
Đây là từ here.
Hibernate cung cấp một già đi, di sản
org.hibernate.Criteria
API mà nên được coi là phản đối. Không có tính năng phát triển nào sẽ nhắm mục tiêu các API đó. Cuối cùng, các tính năng tiêu chí cụ thể của Hibernate sẽ là được chuyển thành tiện ích mở rộng cho JPAjavax.persistence.criteria.CriteriaQuery
. Để biết chi tiết về APIorg.hibernate.Criteria
, hãy xem Truy vấn tiêu chí kế thừa cũ.
Có thể trùng lặp [Hibernate 5 và Truy vấn tiêu chí đánh máy (JPA2)] (http://stackoverflow.com/questions/35824417/hibernate-5-and-typed-criteria-queries-jpa2) –
Từ [tài liệu] (https://docs.jboss.org/hibernate/orm/4.2/devguide/en-US/html/apb.html): _ "Phát triển mới nên tập trung vào API JPA' javax.persistence.criteria.CriteriaQuery'. Cuối cùng, các tính năng tiêu chí cụ thể của Hibernate sẽ được chuyển thành các phần mở rộng cho JPA 'javax.persistence.criteria.CriteriaQuery'." _ Ngoài ra, nếu bạn muốn viết các truy vấn dễ đọc (thay vì sử dụng API Tiêu chí clunky), hãy xem xét [QueryDSL] (http://www.querydsl.com/). –
@MickMnemonic Không hoàn toàn trùng lặp. Tôi đã chỉnh sửa câu hỏi của mình. –