Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn tìm kiếm ngủ đông

Sau khi xem xét truy vấn của bạn, tôi nhận ra một số vấn đề với HQL của bạn cần được giải quyết. Xem phần tại đây:

https:// docs .jboss.org / hibernate / orm / 3.3 / reference / en-US / html / queryhql.html # queryhql-joins

Vì vậy, bằng cách TÌM KIẾM TẤT CẢ CÁC TÍNH CHẤT, bạn không có khả năng lọc trên z con trong cùng một truy vấn. Khi đó, truy vấn của bạn sẽ giống như sau:

SELECT new com.mycompany.kwestionariusz.Osoba(
  o.id, o.imie, o.nazwisko, o.telefon, o.email,
  o.uczelnia, o.doswiadczenie, o.skadSlyszal)
from Osoba as o
  INNER JOIN o.zainteresowania as z
WHERE ((o.id) = (id_osoby))
and (LOWER(z.zainteresowanie) LIKE ?)
and (LOWER(z.zainteresowanie) LIKE ?)
and (LOWER(z.zainteresowanie) LIKE ?)
and (LOWER(z.zainteresowanie) LIKE ?)
and (LOWER(z.zainteresowanie) LIKE ?)

Điều duy nhất tôi không chắc là thuộc tính này ở đây:

(id_osoby)

Tôi không thấy bí danh này ở bất kỳ đâu và tôi không thấy cột này trong bất kỳ bảng nào của bạn. Bạn có chắc điều này là cần thiết?

Vì vậy, điều này bây giờ sẽ cung cấp cho bạn o thực thể mẹ đã được lọc theo thuộc tính của z con. Tuy nhiên, các con z là lười biếng, vì vậy bạn phải truy vấn các con đó một cách độc lập bằng ID z hoặc bạn có thể lười tìm nạp chúng trong cùng một giao dịch ngủ đông chỉ bằng cách gọi phương thức getter để trả về danh sách các con z.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tomcat 6.0.24 Ngoại lệ:Không thể tải com.mysql.jdbc.SQLError

  2. Đọc MySQL từ luồng không thành công

  3. SQL CHỌN LỆNH THEO nhiều cột tùy thuộc vào giá trị của cột khác

  4. Cách lưu trữ LocalTime ở chế độ ngủ đông

  5. Một luồng đã bị treo trên java.net.SocketInputStream.socketRead0 (Native Method), có ai biết chuyện gì đã xảy ra không?