Ich habe folgende Java 6 Code:Java EE SqlResultSetMapping Syntax
Query q = em.createNativeQuery(
"select T.* " +
"from Trip T join Itinerary I on (T.itinerary_id=I.id) " +
"where I.launchDate between :start and :end " +
"or ADDDATE(I.launchDate, I.equipmentPullDayOfTrip) between :start and :end",
"TripResults");
q.setParameter("start", range.getStart(), TemporalType.DATE);
q.setParameter("end", range.getEnd(), TemporalType.DATE);
@SqlResultSetMapping(name="TripResults",
entities={
@EntityResult(entityClass=TripEntity.class),
@EntityResult(entityClass=CommercialTripEntity.class)
}
)
Ich erhalte einen Syntaxfehler auf dem letzten Schließen rechten Klammer. Eclipse gibt Folgendes an: "EnumBody einfügen, um die Block-Anweisung abzuschließen" und "Enum-Kennung einfügen, um EnumHeaderName zu vervollständigen". Ähnlicher Syntaxfehler von javac.
Was mache ich falsch?
Wenn Sie eine native Abfrage erstellen, müssen Sie AUSWÄHLEN * aus der Tabelle auswählen, die die Klasse darstellt, der Sie zuordnen, oder einzelne Spalten auswählen (ID, Vorname, Nachname usw.). ? Ich versuchte letzteres heute Abend und erhielt Fehler in Bezug auf die Felder aus der Tabelle, die ich nicht in die Abfrage aufgenommen habe. – kshep92