Here's the skinny on using an Oracle sequence. There are two functions available for an Oracle sequence. One is NEXTVAL and the other is CURRVAL. NEXTVAL will trigger the sequence and return that value to you. CURRVAL get's you the last one returned. Therefore it is important to not call CURRVAL until NEXTVAL has been called at least once.
select sequence.NEXTVAL from dual;
or
select sequence.CURRVAL from dual;
Sorry though, I can't help you with the NHiberbate stuff. :)