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.
Спасибо.