Я хочу вставить данные в свою таблицу в Cassandra, а затем вернуть значение из столбца «user_id» вместо полного ResultSet. Вот фрагмент моего кода:
def create(user: User): Future[UUID] = {
insert
.value(_.id, user.id)
.value(_.email, user.email)
.value(_.name, user.name)
.consistencyLevel_=(ConsistencyLevel.ALL)
.future()
.map(r => fromRow(r.one()).id)
}
def fromRow(r: Row): User = {
User(id(r), email(r), name(r))
}
Итак, future() возвращает Future[ResultSet]. После этого я пытаюсь получить строку из ResultSet, изменить ее на пользователя и в конечном итоге получить идентификатор. Несмотря на то, что данные были сохранены в моей таблице, я получил
ResultSet [исчерпан: правда, столбцы []]
столбцы ResultSet пусты, и, следовательно, r.one() вернул null. Я не нашел примеров для моей цели. Итак, может ли phantom-dsl делать что-то вроде Quill?
val q = quote {
query[Product].insert(lift(Product(0L, "My Product", 1011L))).returning(_.id)
}