【发布时间】:2015-12-28 15:41:30
【问题描述】:
我按照下面的链接将 Person 对象插入到位于 Cassandra 服务器上的 Person 表中 http://docs.spring.io/spring-data/cassandra/docs/1.0.4.RELEASE/reference/html/cassandra.core.html
但我有unconfigured columnfamily error。我已经测试了几种使之成为可能的方法。有些方法可以正常工作。这是结果。
1- 正常运行
PreparedStatement statement = session.prepare("INSERT INTO \"tims\".\"Person\" (id, name, age) VALUES (?,?,?)");
int id=1234;
String name="Ahmet"+id;
int age=33;
BoundStatement bind = statement.bind(id,name,age);
session.executeAsync(bind);
2- 正常运行
String cql = "insert into \"tims\".\"Person\" (id, name, age) values (2345, 'Ali-updated-2', 39)";
CassandraOperations cassandraOps = new CassandraTemplate(session);
cassandraOps.execute(cql);
3- 无法正常运行
CassandraOperations cassandraOps = new CassandraTemplate(session);
cassandraOps.insert(new Person(2345, "Ahmet-updated", 33));
这里是 POJO 类
package com.ttech.tims.bipcamp.dao.cassandra;
import org.springframework.data.cassandra.mapping.Column;
import org.springframework.data.cassandra.mapping.PrimaryKey;
import org.springframework.data.cassandra.mapping.Table;
@Table(value="Person")
public class Person {
@PrimaryKey(value="id")
@Column(value="id")
private int id;
@Column(value="name")
private String name;
@Column(value="age")
private int age;
public Person(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}
【问题讨论】: