2015-01-05 1 views
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?

+1

Slick имеет механизм типа уровня для ограничения в настоящее время поддерживаются следующие типы. Каков ваш запрос? – cvogt

+0

Да, но не ограничивает ли то, что результаты запроса вы можете выполнить с помощью Slick по сравнению с голым SQL? «поддерживаемые в настоящее время типы» означают, что разрешение «List» еще не было реализовано? – matanster

+1

Мэтт, пожалуйста, покажите мне, какой запрос создает это сообщение об ошибке, и я расскажу вам, как его написать, чтобы он работал, или если он не поддерживается. Возможно, вам нужно использовать inSet вместо оператора. Что касается SQL, Slick иногда может делать еще несколько вещей, а некоторые - меньше. Зависит также от диалекта. Бывают случаи, когда вам приходится отказываться от простого SQL. – cvogt

ответ

0

Попробуйте

import slick.driver.(yourDB)Driver.api._ 

 Смежные вопросы

  • Нет связанных вопросов^_^