MySqlQuery:wie Query excute von
select count(holiday_id)
from holidays
where holiday_type_id=2 and DATEDIFF('2016-8-9',curdate())>=20
JavaQuery:
Query OptionalholidaysQuery =
manager.createNativeQuery("select count(holiday_id) from Parabola.holidays"
+ " where holiday_type_id=2 and DATEDIFF(:startdate,curdate())>=20");
OptionalholidaysQuery.setParameter("startdate", "2016-8-9");
List<Integer> optionalholidays = (List<Integer>) OptionalholidaysQuery.getResultList();
System.out.println("Optional:" + OptionalholidaysQuery);
Die gegebene MySql Abfrage funktioniert gut und gibt Daten, wenn ich es über Werkbank auszuführen.
Ich habe es in Java-Code angewandt, aber es gibt mir als Ergebnis
Optional: [email protected]
Bitte zeigen Sie den Fehler und vorschlagen Korrekturen.
Was haben Sie erwartet, dass es gedruckt wird? Sie haben ihm gesagt, dass er das 'Query'-Objekt drucken soll, damit es genau so gedruckt wird. Wenn Sie die * Ergebnisse * ausdrucken möchten, müssen Sie stattdessen das Objekt 'optionalholidays' drucken. Es wäre auch viel einfacher, wenn Sie Ihren Code richtig formatieren. Im Moment ist es nicht die einfachste Sache zu lesen. – JonK
Keine Ausnahme am [email protected] das bekomme ich im Gegenzug –
Nein, das ist genau das, was der 'toString' des von' createNativeQuery (String) zurückgegebenen Objekts zurückgibt, und was Ihr ist Die Anweisung 'println' wurde angewiesen, auszudrucken. Die * Ergebnisse * sind in 'optionalen Feiertagen' enthalten, * die Sie nicht ausdrucken *. – JonK