次のように私は、日付型の列とカサンドラのテーブルを持っている:Spring Data Cassandraを使用してjava.util.Date値をCassandraの日付型列に挿入するには?
create table people
(
id int primary key,
name text,
email text,
dob date
);
私はSpringBoot 1.5.2 +春データカサンドラスターターを使用しています。
@Table("people")
public class Person {
@PrimaryKey
Integer id;
private String name;
private String email;
private java.util.Date dob;
//setters and getters
}
public interface PersonRepository extends CrudRepository<Person, Integer>{
}
次のように私は新しい人を挿入しています:
personRepository.save(new Person(1, "Siva","[email protected]", new java.util.Date()));
それは、次のエラー投げている:
Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: Expected 4 byte long for date (8)
at com.datastax.driver.core.Responses$Error.asException(Responses.java:136) ~[cassandra-driver-core-3.1.4.jar:na]
at com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:179) ~[cassandra-driver-core-3.1.4.jar:na]
at com.datastax.driver.core.RequestHandler.setFinalResult(RequestHandler.java:177) ~[cassandra-driver-core-3.1.4.jar:na]
at com.datastax.driver.core.RequestHandler.access$2500(RequestHandler.java:46) ~[cassandra-driver-core-3.1.4.jar:na]
をしかし、私はその後、タイムスタンプにDOB列の型を作る場合それは正常に動作しています。 の日付タイプの列があり、java.util.Dateのタイプのプロパティを使用できますか?
P.s:java.sql.Dateを使用しても、同じエラーが発生します。
あなたは '@Temporal(注釈を追加しようとしたことがありTemporalType.TIMESTAMP) '? – Andremoniy
私はJPAを使用していません。カサンドラのアノテーションもありますか? –
本当ですか? 'Table'と' PrimaryKey'アノテーションとは何ですか? – Andremoniy