0
有没有在我们提供给通过BoundStatement.setSet(..)
方法DataStax Java驱动程序,而无需使用用户定义类型的集合类型的使用我们的类型(我们提供的类)的方法吗?也许使用Object Mapping API?使用自定义类
如果是这样,当我们创建表格时,我们应该如何使用类型中的SET
(换句话说:SET<????>
)?
我们使用连接到DSE v4.6.0的DataStax Java驱动程序v2.1.5(卡桑德拉2.0.11.83)。
下面是一个例子来说明:
CREATE TABLE teams (uid TEXT PRIMARY KEY, players SET<????>);
我们的类型:
public class Player {
private String name;
public Player(String name) { this.name = name; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
}
测试:
public void testSets(){
Set<Player> players = new HashSet<>();
players.add(new Player("Nick"));
players.add(new Player("Paul"));
players.add(new Player("Scott"));
PreparedStatement statement = session.prepare("INSERT INTO teams (uid, players) values (?,?);");
BoundStatement boundStatement = new BoundStatement(statement);
boundStatement.setString("uid", ...);
boundStatement.setSet("players", players);
session.execute(boundStatement);
}