Tình huống như sau:HQL: nỗ lực bất hợp pháp để thu thập tiền gửi
Tôi có một thực thể Sách có mối quan hệ một-nhiều với Chương.
Bây giờ nếu tôi thử truy vấn "from Book book inner join book.chapters chapter where chapter.title like '%hibernate%'
", nó mang lại cho tôi kết quả mong muốn.
Nhưng nếu tôi thử, "from Book where book.chapters.title like '%hibernate%'
", tôi nhận được lỗi nỗ lực bất hợp pháp để thu thập thu thập dữ liệu.
Điều này là tôi chỉ muốn thu lại các đối tượng Book và không phải là một tập hợp các đối tượng Book và Chapter mà tôi nhận được với truy vấn cũ.
Ai đó có thể giúp tôi hiểu không?
Thậm chí nếu Chương thực thể được ánh xạ một cách lười biếng, tại sao nó sẽ chỉ nhận được những bộ sưu tập sách với truy vấn trước đây của tôi? Tôi nghĩ rằng 'chọn cuốn sách từ cuốn sách bên trong cuốn sách tham gia chương chương mà chapter.title như '% hibernate%'' là những gì tôi nên cố gắng thay vì ở nơi đầu tiên. Cảm ơn bạn đã trả lời :) – skip
Tôi đã thêm hai liên kết vào câu trả lời của tôi nêu rõ các chiến lược tìm nạp. – joostschouten
Cảm ơn các liên kết, nhưng tôi đã nhận được các cặp sách và chương trong kết quả ngay cả khi tôi đã sử dụng LAZY cho chiến lược tìm nạp. Tôi đã nhận được các đối tượng cuốn sách trùng lặp mặc dù. Cảm ơn các liên kết mặc dù :) – skip