Я использую Phantom DSL ( v2.28.0, scala v2.12.7 ) и при каждом запросе к моей базе данных я получаю следующую неоднозначную ошибку:
scala.NotImplementedError: отсутствует реализация
Этого не происходит, когда я использую .future()
для разрешения своего запроса, в этом случае запросы работают просто отлично.Кроме того, запуск метода .executableQuery()
возвращает правильно отформатированный запрос, который указывает на мою неспособность правильно построить модель, но я не понимаю, что я делаю неправильно.Примеры запросов:
Рабочие запросы:
db.entries.select.all.future // -> Returns a Future[ResultSet]
db.entries.select.where(_.user_id is userId).future() // -> ^
Неудачные запросы:
db.entries.select.all.fetch // -> Err
db.entries.select.where(_.user_id is userId).fetch() // -> Err
db.entries.select.all.fetchRecord // -> Err
...
То же самое касается paginateRecord () и т. Д.
case class Rec(
id: UUID,
body: String,
time: DateTime,
user_id: Integer
)
abstract class active extends Table[active, Rec] {
object id extends UUIDColumn with PartitionKey
object body extends StringColumn
object time extends DateTimeColumn
object user_id extends IntColumn
}
class BasicDatabase(override val connector: CassandraConnection) extends Database[BasicDatabase](connector) {
object entries extends active with Connector
}
implicit val keySpace: KeySpace = KeySpace("some_keyspace")
implicit val session: Session = db.session
object db extends BasicDatabase(CassandraConnector.default)
Я все еще новичок, поэтому любые предложения полезны, заранее спасибо.