Ich verwende Hibernate, um eine Verbindung zu meiner Datenbank für ein Projekt herzustellen.HQL Query Join Tabellen
Ich möchte eine Abfrage haben, die die Produkte aus meiner Datenbank mit der Beschreibung und dem Namen in einer bestimmten Sprache erhält. Der Parameter, den ich habe, ist der Kurzname für die Sprache, also müsste ich zuerst die ID der Sprache bekommen und dann den Text in den benötigten Sprachen bekommen.
Ich habe die folgende HQL-Abfrage versucht, ohne Erfolg.
from Products as p
where p.productlanguages.languages.shortname like 'eng'
Dies ist ein Bild des Teils der Datenbank, wo die Daten herkommen sollten:
ich das gewünschte Ergebnis mit einer SQL-Abfrage erhalten habe, aber ich kann nicht scheinen, um es zu bekommen im Winterschlaf arbeiten. Aber ich würde das lieber in hql machen.
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'
);
Kann mir jemand sagen, wie man diese hql-Abfrage erstellt? Danke.
Das funktioniert, aber jetzt kann ich das Ergebnis nicht in ein Set setzen. –
Jerodev
@Jerodev: Dies sollte 'List' mit eindeutigen Produkteinheiten zurückgeben. –
Dies ist der Code für mein Modell: [http://pastebin.com/8aM5eKYx](http://pastebin.com/8aM5eKYx). Jedes Mal, wenn ich die von Ihnen angegebene Abfrage ausprobiere, erhalte ich die Fehlermeldung "Methode [getBarcode] kann nicht mit [0] Parametern gefunden werden". – Jerodev