Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kueri Pencarian Hibernasi

Setelah melihat permintaan Anda, saya menyadari beberapa masalah dengan HQL Anda yang perlu ditangani. Lihat bagiannya di sini:

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

Jadi dengan melakukan FETCH ALL PROPERTIES Anda tidak memiliki kemampuan untuk memfilter z anak dalam kueri yang sama. Kueri Anda akan terlihat seperti ini:

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 ?)

Satu-satunya hal yang saya tidak yakin adalah properti ini di sini:

(id_osoby)

Saya tidak melihat ini alias di mana pun dan saya tidak melihat kolom ini di tabel Anda mana pun. Apakah Anda yakin ini diperlukan?

Jadi ini sekarang akan memberi Anda o entitas induk yang telah difilter oleh properti dari z anak. Namun, anak-anak z malas jadi Anda harus menanyakannya secara independen dengan ID z atau Anda harus dapat mengambilnya dengan malas dalam transaksi hibernasi yang sama hanya dengan memanggil metode pengambil untuk mengembalikan daftar anak-anak 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. Kolom peningkatan otomatis MySQL melonjak 10- mengapa?

  2. Layanan Apache Olinge OData melempar EdmSimpleTypeException ketika kolom dalam database bertipe TEXT atau BLOB

  3. Bagaimana cara menyediakan koneksi database mysql dalam satu file di nodejs

  4. Kutipan tunggal, Kutipan ganda, dan Backtick di MySQL

  5. Hapus sejumlah besar data dari tabel besar