Ich habe versucht, den folgenden Code zum Abrufen der einzelnen NotificationSubType-Objekt. Doch die Suche nach Ausnahme wie "org.apache.openjpa.persistence.ArgumentException: Fand "von" im Zeichen 1, aber erwartet: [" DELETE " "SELECT", "UPDATE"]."JPA Select Abfrage mit Composite-Primärschlüssel führt eine Ausnahme
Bitte helfen Sie mir bei gegebenem Problem. -Code ist unten angegeben: ... ...
try {
Query query = this.em.createQuery("from NotificationSubType conc WHERE conc.id.alertTyC = ?1 and conc.id.alertSubTyC = ?2");
query.setParameter(1, "MPPRINT");
query.setParameter(2, "REIN");
NotificationSubType trackIdResLst = (NotificationSubType)query.getSingleResult();
if (null != trackIdResLst) {
System.out.println("TRUE");
} else{
System.out.println("FALSE");
}
} catch (Exception e) {
NotificationLogger.errorWithThrowable(e);
throw new NotificationServiceException(e.getMessage());
}
...
Vielen Dank für Ihre großartige Eingabe. Ich habe es auch mit ausgesucht. Es gibt Erfolg für einfache Select-Abfrage wie "select * from NotificationSubType", aber wenn ich Bedingung wie "select * from NotificationSubType conc WHERE conc.id.alertTyC =? 1 und conc.id.alertSubTyC =? 2" Es gibt Fehler hinzufügen . Gibt es irgendetwas, das ich für bedingte Auswahl-Abfrage in Open JPA konfigurieren muss? –
Wie gesagt ... lesen Sie die JPA-Spezifikation. Sie können nicht "SELECT *" in JPQL tun! "SELECT conc FROM NotificationSubType conc" ist JPQL !. Bitte lesen Sie die Dokumentation, anstatt SQL zufällig auf JPA zu werfen. JPQL! = SQL –