There is an open ticket for this https://code.google.com/a/apache-extras.org/p/cassandra-jdbc/issues/detail?id=72
Cheers ----------------- Aaron Morton Freelance Cassandra Consultant New Zealand @aaronmorton http://www.thelastpickle.com On 3/05/2013, at 1:57 AM, Robert Wille <rwi...@footnote.com> wrote: > Just downloaded the latest Cassandra and JDBC driver. When I try to insert > UUID's into a column family, I get an exception. > > Here's how I created the column family: > > CREATE TABLE browse.tree (tree_id UUID PRIMARY KEY, activation_time > TIMESTAMP, tree_lock_id INT, sql_publication_id INT); > > Here's some code that produces the problem: > > UUID uuid = java.util.UUID.randomUUID(); > PreparedStatement statement = c.prepareStatement("insert into tree (tree_id) > values (?)"); > statement.setObject(1, uuid); > statement.execute(); > > And here's the exception I get: > > java.sql.SQLNonTransientException: encountered object of class: class > java.util.UUID, but only 'String' is supported to map to the various VARCHAR > types > at > org.apache.cassandra.cql.jdbc.HandleObjects.makeBadMapping(HandleObjects.java:124) > at > org.apache.cassandra.cql.jdbc.HandleObjects.makeBytes(HandleObjects.java:391) > at > org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.setObject(CassandraPreparedStatement.java:351) > at > org.apache.cassandra.cql.jdbc.CassandraPreparedStatement.setObject(CassandraPreparedStatement.java:338) > at CassandraTest.main(CassandraTest.java:26) > > I've tried using the string representation, but then it complains saying that > it needs to be exactly 16 bytes. I've tried inserting as a byte array of > length 16, but I get the same exception as above. > > Any help would be appreciated. Thanks. > > Robert