gpt4 book ai didi

java - Cassandra UDT 嵌套集 InvalidTypeExeception

转载 作者:行者123 更新时间:2023-11-30 11:08:24 26 4
gpt4 key购买 nike

我正在 Cassandra 2.1 中尝试使用 UDT,并且遇到了 InvalidTypeExeception。

我将表格设置为:

 session.execute("CREATE TYPE mykeyspace.address (" +
" street text," +
" city text," +
" zip_code int," +
" phones set<text>" +
");"
);
session.execute("CREATE TYPE mykeyspace.fullname (" +
" firstname text," +
" lastname text" +
");"
);
session.execute(
"CREATE TABLE mykeyspace.users (" +
" id uuid PRIMARY KEY," +
" name frozen <fullname>," +
" direct_reports set<frozen <fullname>>," +
" addresses map<text, frozen <address>>" +
"); ");

然后运行以下作为测试:

PreparedStatement statement = session.prepare("INSERT INTO mykeyspace.users (id, name, addresses) VALUES (?, ?, ?);");

UserType fullNameType = session.getCluster().getMetadata().getKeyspace("mykeyspace").getUserType("fullname");
UserType addresType = session.getCluster().getMetadata().getKeyspace("mykeyspace").getUserType("address");

BoundStatement boundStatement = new BoundStatement(statement);

UUID uuid = UUID.randomUUID();

UDTValue name = fullNameType.newValue().setString("firstname", "john").setString("lastname", "smith");


UDTValue address = addresType.newValue()
.setString("street", "1 long st")
.setString("city", "sydney")
.setInt("zip_code", 2000)
.setSet("phones",ImmutableSet.of("123", "456", "789")); // ERROR THROWN HERE

Map<String, UDTValue> addresses = new HashMap<String, UDTValue>();
addresses.put("home", address);
session.execute(boundStatement.bind(
uuid,
name,
addresses
));

我在 .setSet("phones"...) 行收到以下错误:

Exception in thread "main" com.datastax.driver.core.exceptions.InvalidTypeException: 
Column phones is of type 'org.apache.cassandra.db.marshal.FrozenType(org.apache.cassandra.db.marshal.SetType(org.apache.cassandra.db.marshal.UTF8Type))', cannot set to a set

只是对我做错了什么以及我遗漏了什么感到困惑,我确信它很明显但无法弄清楚......

谢谢!

最佳答案

那将是驱动程序中的错误。如果您确定您使用的是最新发布的驱动程序版本(以确保它尚未修复),请在 java driver jira 上报告此情况。 .

关于java - Cassandra UDT 嵌套集 InvalidTypeExeception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28573825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com