Riak supports auto generated keys when storing an object:
http://wiki.basho.com/Basic-Riak-API-Operations.html:
Store a new object and assign random key #
If your application would rather leave key-generation up to Riak, issue a POST request to the bucket URL instead of a PUT to a bucket/key pair: POST /riak/bucket If you don’t pass Riak a “key” name after the bucket, it will know to create one for you.
is it possible to do the same when using the java client? it seems that key must be provided when storing an object.