Spring Boot Cassandra InvalidQueryException

Я создаю серверную часть Springboot, используя Cassandra в качестве базы данных, хранящейся в Azure. Я столкнулся со странной проблемой, которая случается случайно и обычно при первом запуске приложения.

Моя модель данных:

@Table("product_user_habit")
public class ProductUserHabitDTO {

    @Column
    @PrimaryKey
    private ProductUserKey puk;
    @Column
    private String product_name;
    @Column
    private String category;
    @Column
    private int quantity;
    @Column
    private String brand;

    public ProductUserHabitDTO() {
    }

    public ProductUserHabitDTO(ProductUserKey puk,
                               String product_name,
                               String category, String brand, int quantity) {
        this.puk = puk;
        this.product_name = product_name;
        this.category = category;
        this.quantity = quantity;
        this.brand = brand;
    }

Мой репозиторий:

@Repository
public interface ProductUserHabitsRepository extends CassandraRepository<ProductUserHabitDTO, ProductUserKey> {
    @AllowFiltering
    ProductUserHabitDTO findProductUserHabitDTOByPuk_UseridAndPuk_Code(String username, String code);
}

Когда я вызываю этот метод, он выдает это (обычно при первом запуске):

"Query; CQL [SELECT * FROM product_user_habit WHERE userid='bbbbbbbb' AND code='3274080005003' ALLOW FILTERING;]; Expected size of integer 8: Got 13 bytes; nested exception is com.datastax.driver.core.exceptions.InvalidQueryException: Expected size of integer 8: Got 13 bytes","trace":"org.springframework.data.cassandra.CassandraInvalidQueryException: Query; CQL [SELECT * FROM product_user_habit WHERE userid='bbbbbbbb' AND code='3274080005003' ALLOW FILTERING;]; Expected size of integer 8: Got 13 bytes;"

И иногда нормально работает. Я не понимаю, потому что в моем запросе нет целого числа. Также для своих тестов я всегда использую один и тот же запрос, поэтому идентификатор пользователя и код работают.

Кто-нибудь понимает, что происходит? Это сводит меня с ума:(

Благодарность!

1 ответ

Этот драйвер официально не поддерживается для API Cassandra Cosmos DB. См. Полный список поддерживаемых драйверов здесь, функции Apache Cassandra, поддерживаемые API Cassandra Azure Cosmos DB.

Спасибо.

Другие вопросы по тегам