2
Я пытаюсь отобразить на List
внутри Slick поднял запрос, и я получаю ошибку компиляции:Почему отображение в список внутри поднятого запроса завершается с ошибкой «Слик не знает, как сопоставить данные типы»?
No matching Shape found.
[error] Slick does not know how to map the given types.
[error] Possible causes: T in Table[T] does not match your * projection. Or you use an unsupported type in a Query (e.g. scala List).
[error] Required level: scala.slick.lifted.FlatShapeLevel
[error] Source type: Seq[String]
[error] Unpacked type: T
[error] Packed type: G
Почему это, что в не-Slick операции карты, можно сопоставить с любого типа, в то время как в запросе Slick я могу сопоставить простые типы Scala, но не Scala List
?
Slick имеет механизм типа уровня для ограничения в настоящее время поддерживаются следующие типы. Каков ваш запрос? – cvogt
Да, но не ограничивает ли то, что результаты запроса вы можете выполнить с помощью Slick по сравнению с голым SQL? «поддерживаемые в настоящее время типы» означают, что разрешение «List» еще не было реализовано? – matanster
Мэтт, пожалуйста, покажите мне, какой запрос создает это сообщение об ошибке, и я расскажу вам, как его написать, чтобы он работал, или если он не поддерживается. Возможно, вам нужно использовать inSet вместо оператора. Что касается SQL, Slick иногда может делать еще несколько вещей, а некоторые - меньше. Зависит также от диалекта. Бывают случаи, когда вам приходится отказываться от простого SQL. – cvogt