Java 可以在卡桑德拉中插入大纪元时间吗?

Java 可以在卡桑德拉中插入大纪元时间吗?,java,scala,cassandra,Java,Scala,Cassandra,表的架构: CREATE TABLE student( name text, id int, class int, logintime timeuuid, subject text PRIMARY KEY ((cust_sub_id, group_id), level, eventtime)); 在学生表中插入数据时: INSERT INTO student(name, id, class, logintime, subject) VALUES ( 'xyz', 10, 12, 242aa08

表的架构:

CREATE TABLE student(
name text,
id int,
class int,
logintime timeuuid,
subject text
PRIMARY KEY ((cust_sub_id, group_id), level, eventtime));
在学生表中插入数据时:

INSERT INTO student(name, id, class, logintime, subject) VALUES ( 'xyz', 10, 12, 242aa080-9e6f-11e5-b62b-903c9927ffc2, 'maths');
它工作得很好。 但是否可以插入epochtime/datetime而不是uuid,并在cassandra表中自动保存为uuid格式

比如:

INSERT INTO student(name, id, class, logintime, subject) VALUES ( 'xyz', 10, 12, 1449663555, 'maths');
如果不可能,那么如何在scala中将epochtime转换为uuid

或者如何修改增加1天的现有uuid意味着[exitingDate+1.day]?

您可以使用数据类型。它看起来和尝起来都像普通的UUID,但由两部分组成:时间和节点特定的随机数据。它可以像这样使用:

INSERT INTO student(name, id, class, logintime, subject) VALUES ( 'xyz', 10, 12, now(), 'maths');
Yuo可以使用dateOf()函数提取TimeUUID的时间部分:

SELECT dateOf(logintime) from student where name='xyz';
顺便说一句,还有一个
writetime()
函数,它可以应用于任何(非PK)列值,以获得实际的列写入时间戳