sql >> Databasteknik >  >> RDS >> Mysql

Viloläge sökfråga

Efter att ha tittat på din fråga inser jag några problem med din HQL som måste åtgärdas. Se avsnittet här:

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

Så genom att göra en HÄMTA ALLA EGENSKAPER har du inte möjlighet att filtrera på z-barnen i samma fråga. Din fråga bör se ut så här:

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

Det enda jag inte är säker på är den här egenskapen här:

(id_osoby)

Jag ser inte att detta alias någonstans och jag ser inte den här kolumnen i någon av dina tabeller. Är du säker på att detta behövs?

Så detta kommer nu att ge dig o överordnade enheter som har filtrerats av egenskaperna för z-barnen. Z-barnen är dock lata så du måste fråga efter dem oberoende av z-ID:t, annars bör du kunna lata hämta dem inom samma vilolägestransaktion bara genom att anropa getter-metoden för att returnera listan med z-barn.



  1. Fatalt fel:Oupptäckt undantag 'mysqli_sql_exception' med meddelandet 'Inget index används i fråga/förberedd sats'

  2. MySQL #1093 - Du kan inte ange måltabellen "giveaways" för uppdatering i FROM-klausulen

  3. Hur får man en lista över MySQL-vyer?

  4. mysql-anslutningen är inte integrerad i Visual Studio