我正在寻找一些与使用Cassandra数据库的spring boot数据相关的帮助。
在我的pom.xml中有以下依赖项。
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-boot-starter-data-cassandra</artifactId>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>2.1.10.3</version>
</dependency>
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-mapping</artifactId>
<version>2.1.10.3</version>
</dependency>
The table structure looks like:
@Table(value = "TEST_ORDERS")
public class OrderDTO {
@PrimaryKey
@Column(value = "email")
private String emailId;
@Column(value = "order_id")
private int orderId;
@Column(value = "creation_date")
private Timestamp creationDate;
@Column(value = "discount_total")
private double discountTotal;
@Column(name = "shipments")
//This is a UDT type
private Set<ShippingDetails> shipments;
//getters and setters here
}
The ShippingDetails object is a UDT with following declartion and i defined as a frozen collection in the cassandra CQL sripts
@UDT(name = "shipping", keyspace = "mc_checkout")
public class ShippingDetails {
@Field(name = "name")
private FullName name;
@Field(name = "quantity_shipped")
private int quantityShipped;
@Field(name = "shipping_address")
private CheckoutAddress shippingAddress;
//so on
}
There is a repository created for the basic CRUD operations:
@Repository
public interface OrderRepository extends CrudRepository<OrderDTO, String> {
}
When i try to invoke findOne API of this repository in my Service class
我得到以下错误:Cassandra实体必须有@Table、@Persistent或@PrimaryKeyClass注释
spring Apache Data for Cassandra和DataStax的Mapping是两个独立的工具,它们试图实现相同的功能。请随便用一种,但不要把这两种混用。
crudrepository
是spring数据类型,而@field
和@udt
来自Datastax映射。
Apache Cassandra对spring数据的UDT支持从1.5版开始提供,请参阅参考文档。Apache Cassandra 1.5的spring数据需要Datastax Java驱动程序3.0或更新版本。
我对卡桑德拉的数据建模有一个疑问,希望能在这里提出一些建议。 我们正在尝试构建一个多租户应用程序,我们希望数据结构由用户定义。用户可以定义数据源、字段数量、数据类型、顺序等,然后基于此结构上载数据。既然Cassandra不支持混合数据类型列表,我们如何在Cassandra之上设计这样的应用程序呢。当前集合类型为映射(相同类型)/集/列表(相同类型)。此外,是否可以基于用户定义的实体查询数据? 目前
考虑我有两个表的场景,和。我想创建第三个表,它只是一个包含两列的映射表,和的主键。表A和表B分别包含8000万条和1.5亿条记录。目前,我在DB2(即我的DB)中编写了一个存储过程,它将首先连接和选择两个表中的记录,并使用游标进行迭代。在这个迭代过程中,我将插入到第三个表中,并执行一个中间提交。 现在,这个存储过程运行了很长时间(大约5小时)来完成这个操作,因为在DB2存储过程中不可能插入多行(这
我正在尝试添加一条消息到amazon aws sqs中的队列 所以我试了一下 它给了我这个错误 我猜是地图类型的,怎么能把这个参数以地图格式发送
我正在开发Spring Boot应用程序与Spring Data JPA和H2数据库。我使用的是sping-data-jpa。当我使用ManyTo很多映射器类来获取另一个类的数据时。但是我发现它是NULL。 代码在github上 书班 著者班 测试中的测试代码捕捉器。班 我的代码有错误吗?或者其他方式? 非常感谢。
问题内容: 我的SQL-2005数据库中有一列曾经是 varchar(max) ,但已更改为 nvarchar(max) 。 现在,我需要更新我的hibernate映射文件以反映更改,这就是它过去的样子: 当我尝试运行该应用程序时,出现以下错误: org.hibernate.HibernateException:[表]中列值的列类型错误。找到:ntext,预期:文本 我应该在’type’属性中添加
主要内容:集合类型,用户定义的数据类型:CQL提供了丰富的内置数据类型,包括集合类型。 除了这些数据类型,用户还可以创建自己的自定义数据类型。 下表提供了CQL中可用的内置数据类型的列表。 数据类型 常量 说明 ascii strings 表示ASCII字符串 bigint bigint 表示64位有符号long类型 blob blobs 表示任意字节 Boolean booleans 表示真或假 counter integers 表示