Ich habe eine Tabelle mit einer der Spalten, die ltree hat, und den folgenden Code, der Daten von ihm holt:
%Vor%was zu folgendem Fehler führt:
RuntimeException: TypeDoesNotMatch(Cannot convert notification.en.incident_happened:class org.postgresql.util.PGobject to String for column ColumnName(queue.path,Some(path)))
Warteschlangentabellenschema ist das folgende:
%Vor% Warum ist das? Ist notification.en.incident_happened
nicht nur eine gewöhnliche Zeichenkette? Oder vermisse ich etwas?
UPD :
Die Frage gilt immer noch, aber hier ist ein Workaround:
%Vor%Das sah nach einem lustigen Projekt aus, also habe ich den ltree column mapper implementiert.
Ich habe anorm-postgresql abgehackt, da dieses Projekt bereits einige Postgres-Typen in anorm implementiert. Es sieht gut aus, und es wäre nützlich, wenn es die gesamte Palette von Postgres-Typen implementiert. Mein Code wurde eingebunden, sodass Sie diese Bibliothek verwenden können. Alternativ verwenden Sie einfach den folgenden Code:
%Vor% Dann können Sie einen ltree
einem Seq[String]
zuordnen. Beachten Sie, dass es sich um eine Sequenz von Pfadelementen handelt, die die Reihenfolge bestimmen, so dass es sich um Seq[String]
und nicht um String
oder Set[String]
handelt. Wenn Sie eine einzelne Zeichenfolge möchten, sagen Sie einfach path.mkString(".")
. Verwendung unten: