2016-12-15 1 views
1

Utilisation de Cassandra 2.2.8 avec le connecteur 3.0. J'essaye de créer une déclaration avec QueryBuilder. Lorsque j'exécute Statement, il se plaint aucun espace-clé défini. La seule façon que je connaisse pour définir keyspace est la suivante (il n'y a pas de méthode setKeyspace dans Statement). Quand je fais une getKeySpace - je reçois effectivement nulleCassandra Ensemble d'instructions KeySpace

Statement s = QueryBuilder.select().all() 
      .from("test.tests") 
System.out.println("getKeyspace:"+ s.getKeyspace()); >> null 

Ai-je fait quelque chose de mal, tout est-il d'autres (plus fiable) moyen de setKeyspace? Merci

Répondre

2

from(String) attend un nom de table. Bien que ce que vous faites soit techniquement valide et que Cassandra l'interprète correctement, le pilote n'est pas capable de dériver le nom de l'espace de touches de cette manière.

A la place, vous pouvez utiliser from(String, String) qui prend le premier paramètre comme espace de clé.

Statement s = QueryBuilder.select().all() 
      .from("test", "tests"); 
    System.out.println("getKeyspace:" + s.getKeyspace()); // >> test 
+0

oui cela a fonctionné à partir de ("test", "tests"). Mon autre syntaxe ne fonctionnait pas du tout. –