Tôi có một hệ thống phân cấp lớp phức tạp với nhiều cấp độ thừa kế và tôi cần truy vấn một số loại cụ thể trong phân cấp đó, sử dụng HQL.Truy vấn HQL cho nhiều loại/lớp
Giả sử tôi có các lớp Cat, Dog và Monkey, với một lớp cơ sở chung chung.
Làm cách nào để viết truy vấn chỉ chọn một số trong số đó, giả sử là Mèo và Chó?
Tôi cũng cần phải sắp xếp hoặc lọc theo một số thuộc tính động vật nhất định - vì vậy, hãy nói, động vật có giới tính = "Nam" và sắp xếp theo Tên.
Điều này có khả thi không?
theo [NH Knol] (http://knol.google.com/k/nhibernate-chapter-12-hql-the-hibernate-query-language) của Fabio Maulo, "lớp đặc tính đặc biệt truy cập vào giá trị phân biệt đối xử của một cá thể trong trường hợp tồn tại đa hình. Một tên lớp Java được nhúng trong mệnh đề where sẽ được dịch sang giá trị phân biệt đối xử của nó. " - có vẻ như được hỗ trợ. Tôi sẽ thử nó vào sáng mai và đăng kết quả ở đây, cảm ơn! –
Thuộc tính ma thuật .class hoạt động tốt với HQL trong NH! Như một cảnh báo, API tiêu chí không hoàn toàn hữu ích - nó cần một công việc kinh khủng xung quanh, lấy lại phân biệt đối xử từ ánh xạ theo cách thủ công, vì API tiêu chí không dịch các tên lớp thành các giá trị phân biệt đối xử, nhưng hy vọng bạn biết người phân biệt đối xử giá trị trước. Những thứ khủng khiếp. Nhưng với HQL nó hoạt động tuyệt vời! –