Java Hibernate-如何将参数绑定为nvarchar

Java Hibernate-如何将参数绑定为nvarchar,java,oracle,hibernate,Java,Oracle,Hibernate,我得到了一个oracle数据库,带有一个NVARCHAR2(2000字符)字段,hibernate逆向工程生成的hbm文件如下 <property name="remarks" type="string"> <column length="4000" name="REMARKS" /> </property> 如果我输入2000个汉字,它将超过其字段长度。 如何将其绑定到nvarchar 更新 这是因为我使用的是Oracle数据库。 默认情况下

我得到了一个oracle数据库,带有一个NVARCHAR2(2000字符)字段,hibernate逆向工程生成的hbm文件如下

<property name="remarks" type="string">
    <column length="4000" name="REMARKS" />
</property>
如果我输入2000个汉字,它将超过其字段长度。
如何将其绑定到nvarchar


更新
这是因为我使用的是Oracle数据库。
默认情况下,oracle.jdbc.OraclePreparedStatement将所有列视为字符


解决方案

结果是,我将defaultNChar添加到JNDI连接属性中

 <connection-property name="defaultNChar">
     true
 </connection-property>
 <connection-property name="defaultNChar">
    true
 </connection-property>

真的

尝试这样修改hbm文件

<property name="remarks" type="string">
    <column name="REMARKS" sql-type="nvarchar(2000)"/>
</property>

这是因为我使用的是Oracle数据库。
默认情况下,oracle.jdbc.OraclePreparedStatement将所有列视为字符

结果是,我将defaultNChar添加到JNDI连接属性中

 <connection-property name="defaultNChar">
     true
 </connection-property>
 <connection-property name="defaultNChar">
    true
 </connection-property>

真的

仍然将绑定到varchar org.hibernate.type.descriptor.sql.BasicBinder的参数[5]与[varchar]相同,值得注意的是,通过此设置,所有字符串列都映射到nvarchar2而不是varchar2。。。