In contrast to (all?) other databases hsqldb does support unicode characters for string mapping out of the box. No @Nationalized annotation needed. For Oracle you need this annotation. As soon as you use this annotation for a @lob string column hibernate try´s to create the column as nclob which is not available in hsqldb:
hsql does not need it. Default is unicode anyway.
So as a consequence in a database independent hibernate application supporting oracle and hsqldb you can either support unicode on hsqldb and non unicode on oracle (without @Nationalized annotation) or unicode on oracle and hsqldb not at all (failure to create tables because of unknown datatype nclob).
I am unsure if this is a hibernate bug or a failure to comply to standards in hsqldb...
Is nclob support needed for standard conformance of hsqldb?