2017-05-28 4 views
1

Ich bin auf der Suche nach, wie Sie die folgende Abfrage (SQL) in Abfrage JPQL transformieren;Wie transformiere ich SQL-Abfrage in JPQL-Abfrage?

Ich folgte den Dokumenten im Internet, aber ich bekomme nicht die richtige Umwandlung meiner Abfrage in JPQL.

Ich weiß, dass die Attribute der Abfrage durch die Attribute der Klasse ersetzt werden.

Ich habe hier gepostet, um mir bei der Umwandlung der SQL-Abfrage zu helfen.

Edit1:

@Query(
      "SELECT r, checks, eq" 
      + " FROM Equipements eq" 
      + " LEFT JOIN CheckLists checks " 
      + " ON eq.idEquipements = checks.equipements.idEquipements" 
      + " LEFT JOIN ResponsesCheckLists r" 
      + " ON checks.idCheckLists = r.CheckLts.idCheckLists" 
      + " AND r.Respmission.idMission= :idmiss " 
      + " AND eq.idEquipements= :idEqp" 
      + " ORDER BY checks.idCheckLists ASC" 
     ) 

Fehler von Edit1:

Verursacht durch: java.lang.IllegalStateException: Nein Datentyp für Knoten: org.hibernate.hql.internal .ast.tree.IdentNode + - [IDENT] IdentKnoten: 'r' {originalText = r}

org.hibernate.hql.internal.ast.InvalidPathException: ungültiger Pfad: 'checks.idCheckLists'

Vielen Dank im Voraus,

+0

Bitte, wie Sie die Umwandlung von SQL zu JPQL machen? – Michael1

+0

Können Sie den Code Ihrer zugeordneten Entitäten Equipements, ResponsesCheckLists usw. anzeigen? – Dherik

Antwort

0

SQL-Analyse und ohne die Objekte sehen, Ihre JPQL etwas sein kann, wie folgt aus:

SELECT eq FROM Equipements eq 
LEFT JOIN eq.checks check 
LEFT JOIN check.responses resp 
LEFT JOIN resp.missions mission WITH mission.id = :idmiss 
WHERE eq.id = :idEqp 
ORDER BY check.id 

Aber, so etwas zu sein, müssen Sie die Abbildung Ihrer Entitäten (Entity-Name, Spaltennamen, etc.) anzupassen.

+0

Vielen Dank, es funktioniert @Dherik – Michael1

Verwandte Themen