I have the exact same problem. I would like to be able to specify more than one column for the select key like this:
<generator class="select">
    <param name="key0">col4</param>               
    <param name="key1">col6</param>               
    <param name="key2">col9</param>               
</generator>
as i do not have a unique natural column by itself.
I cannot change the schema.
to work around this, it seems I will have to manually re-query the db for my object, using my composite natural keys, in order to find my generated id. 
either that, or use sequence.CURRVAL+1 with the "sequence" generator type, but there's no option for that either.
Curb that - more trawling of the forums turned this up:
http://forum.hibernate.org/viewtopic.php?t=973262
works like magic!