当前位置: 代码迷 >> Eclipse >> hibernate持久化数据是中文导致的有关问题,求高手出招
  详细解决方案

hibernate持久化数据是中文导致的有关问题,求高手出招

热度:132   发布时间:2016-04-23 13:35:39.0
hibernate持久化数据是中文导致的问题,求高手出招
hibernate持久化一个对象到oracle数据库,有个中文属性, 执行getHibernateTemplate().saveOrUpdate(u);语句是出现Hibernate flushing: Could not execute JDBC batch update; uncategorized SQLException for SQL 
[insert into pms2_opera2 (version, name, action, description, status, id) values (?, ?, ?, ?, ?, ?)]; 
SQL state [72000]; error code [1461]; 
ORA-01461: can bind a LONG value only for insert into a LONG column ; 
nested exception is java.sql.BatchUpdateException: ORA-01461: can bind a LONG value only for insert into a LONG column 
这个错误 
数据库里面的表是通过orm映射出来的,请大侠们帮忙解决下。

------解决方案--------------------
字符类型在pl/sql中做为变量存大,最大可支持32767个字节,但在sql中通常只能够支持到4000字节(char/nchar为2000),因此如果声明的变量长度超出了sql中类型长度,并且变量实际值也超出类型可接受最大值时,就会触发ORA-01461错误
  相关解决方案