J'ai trouvé la solution !
J'utilisais ojdbc 11.2.0.1. Lorsque je suis passé à 11.2.0.2, je pouvais obtenir setNString() fonctionne correctement.Mais j'obtiens toujours le même java.sql.SQLException: Invalid column type si j'utilise setObject() avec Type.NVARCHAR . Honte à toi Oracle...
Quoi qu'il en soit, la solution :passez à ojdbc 11.2.0.2