Chúng tôi có một truy vấn:Làm thế nào để loại bỏ thông điệp cảnh báo Hibernate deprecation
List<Book> books = session.createQuery(
"from Book b where :x member of b.bookCategories")
.setParameter("x", crimeStory)
.list();
Nhưng khi thực hiện truy vấn này, chúng tôi đã nhận một thông điệp cảnh báo:
WARN 10:19:41 deprecation: HHH90000016: Tìm thấy việc sử dụng cú pháp không hợp lệ 'thuộc tính bộ sưu tập' trong truy vấn HQL/JPQL [null.elements]; sử dụng cú pháp hàm sưu tập thay vì [thành phần (null)].
tôi đã cố gắng để thay đổi truy vấn để:
List<Book> books = session.createQuery(
"from Book b where ? in elements(b.bookCategories)")
.setParameter(0, crimeStory).list();
nhưng thông điệp cảnh báo vẫn còn đó.
Vui lòng giúp tôi khắc phục cảnh báo này.
P/s: Hiện tại chúng tôi đang sử dụng Hibernate 5.0.2
Cũng như một FYI, tôi phát hiện ra rằng việc thay đổi JPQL sử dụng tham gia vào một bên trong kết quả trong một truy vấn nhiều hiệu quả hơn. – kensei62