Using a oracle sequence on non primary key

Java side is not enough, did you modify the table definition in ORACLE?

BTW, it should also be possible to have a ORACLE virtual column of which expression call a function doing the nextval (you can’t have a sequence.nextval directly in the defining expression of a virual column).
The only price to pay is that you could not partition the table on that column then.

Something like:
NUMBER(19,0) generated always as (mynextnsqfunc()) virtual