2017-11-13 1 views
0

Ich habe einen Dienst, der das Ergebnis einer Abfrage im Post-Body zurückgibt. Der Service gibt das Ergebnis in der Form List<Map<String, Object>> zurück. Dies funktioniert für alle Datentypen, außer wenn die Spalte ein Timestamp ist. In diesem Fall bekomme ich folgende Fehlermeldung:Kein Serializer für Zeitstempelsäulen gefunden

HTTP Status 500 - No serializer found for class java.io.ByteArrayInputStream and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)) (through reference chain: java.util.HashMap["data"]->java.util.ArrayList[0]->java.util.HashMap["TIMESTAMPCOLUMN"]->oracle.sql.TIMESTAMP["stream"])

ich das gleiche Problem mit CLOBs konfrontiert, konnte aber das Problem beheben, indem einfach die clob durch eine Zeichenfolge in der Karte zu ersetzen. Das Gleiche funktioniert nicht mit dem Timestamp. Ich habe versucht, die ObjectMapper verwenden und konfiguriert mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); [Link Beschreibung hier eingeben] [1] Das auch nicht den Fehler beheben. Weiß jemand, warum das scheitert?

Antwort

0

Versuchen Sie, Ihren Dienst zu ändern, die Daten aus der Datenbank gearbeitet zurückzukehren

java.sql.Date 

oder

java.util.Date 

statt

oracle.sql.TIMESTAMP 
+0

Tatsächlich ist die oracle.sql.TIMESTAMP bekommt – user1727217

Verwandte Themen