hibernate 写数据库时发生异常“ORACLE:数据大小超出此类型的最大值: 1024”
hibernate 写数据库时发生异常“ORACLE:数据大小超出此类型的最大值: 1024”
在 oracle 9i上有这个问题 ,在oracle10g上就没有这个问题了。两个版本在这项限制上有区别吗?
表中有两个字段定义为 varchar2(4000),存放的是固定长度为1024的字符串。
java.sql.SQLException: ORACLEata size bigger than max size for this type: 1024
at org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter.reFactorException(OracleExceptionSorter.java:54)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.refactorException(LocalManagedConnectionFactory.java:842)
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnection.refactorException(LocalManagedConnection.java:672)
at org.jboss.resource.adapter.jdbc.local.LocalConnection.checkException(LocalConnection.java:919)
at org.jboss.resource.adapter.jdbc.local.LocalStatement.checkException(LocalStatement.java:780)
at org.jboss.resource.adapter.jdbc.local.LocalPreparedStatement.setString(LocalPreparedStatement.java:410)
at org.hibernate.type.StringType.set(StringType.java:26)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:131)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:108)
at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2002)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2248)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2665)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:56)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
中文环境下报错是 Caused by: java.sql.SQLException: ORACLE:数据大小超出此类型的最大值: 1024;
网上有些资料表明是jdbc驱动的问题,但是我换了oracle 10.2.0.2 的驱动 文件Ojdbc14.jar(1.46 MB (1,540,457 字节)) 的也是无济于事,感觉还是数据库版本不同会有差别,oracle10就没有这个问题 。