Używam hibernacji do łączenia się z bazą danych dla projektu.Zapytanie HQL do łączenia tabel
Chciałbym mieć zapytanie, które pobiera produkty z mojej bazy danych z opisem i opisem w pewnym języku. Parametr, który mam, to krótka nazwa języka, więc najpierw musiałbym uzyskać identyfikator języka, a następnie uzyskać tekst w wymaganych językach.
Próbowałem następujące kwerendy hql, bez powodzenia.
from Products as p
where p.productlanguages.languages.shortname like 'eng'
To jest obraz z części bazy danych, gdzie dane powinny pochodzić z:
Mam pożądany wynik z zapytania SQL, ale nie wydaje się uzyskać go pracować w hibernacji. Ale wolałbym to zrobić w hql.
SELECT * FROM products p
INNER JOIN productlanguage pl ON pl.Products_id = p.id
WHERE pl.Languages_id =
(
SELECT id FROM languages
WHERE Shortname = 'eng'
);
Czy ktoś może mi powiedzieć, jak zbudować kwerendę hql? Dziękuję.
Działa to, ale teraz nie mogę umieścić wyniku w zestawie. –
Jerodev
@Jerodev: Powinno to zwrócić 'List' z unikalnymi jednostkami produktu. –
To jest kod dla mojego modelu: [http://pastebin.com/8aM5eKYx](http://pastebin.com/8aM5eKYx). Za każdym razem, gdy próbuję podanego zapytania, pojawia się komunikat "Nie można znaleźć metody [getBarcode] z parametrami [0]". – Jerodev