Код: Выделить всё
select * from posts where author_id=f7af0560-d30a-4e84-adca-ca3acd956d17 ALLOW FILTERING
Код: Выделить всё
// in service
var posts = postRepository.findAllByAuthorId(user.getId()); // only 2 rows
// tried different approach
var q = query(where("author_id").is(user.getId())).withAllowFiltering();
var count = cassandraTemplate.stream(q, Post.class).count();
// repository
public interface PostRepository extends MapIdCassandraRepository {
@AllowFiltering
Collection findAllByAuthorId(UUID authorId);
}
// entity
@Getter
@Setter
@Table("posts")
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
public class Posts {
@PrimaryKeyColumn(name = "post_id", ordinal = 0, type = PrimaryKeyType.PARTITIONED)
private UUID postId;
@PrimaryKeyColumn(name = "category_id", ordinal = 1, type = PrimaryKeyType.CLUSTERED)
private UUID categoryId;
@Column(value = "author_id", isStatic = true)
private UUID authorId;
}
Код: Выделить всё
CREATE TABLE IF NOT EXISTS posts
(
post_id UUID,
author_id UUID STATIC,
category_id UUID,
PRIMARY KEY (post_id, category_id)
);
Версии:
- Spring Boot: 3.5.6
- Spring Data Cassandra: 4.5.4
- Сопоставление драйверов Scylla: 3.11.5.8
- Ядро драйвера Java ScyllaDB: 4.18.0.2
Почему он возвращает только 2 строки и что делать, чтобы вернуть все строки?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... re-are-148
Мобильная версия