Hibernate: insert into student (AGE, NAME, NICK, ID) values (?, ?, ?, ?)
38:11,046 WARN [org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:233)] - <SQL Error: 1461, SQLState: 72000>
38:11,046 ERROR [org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:234)] - <ORA-01461: can bind a LONG value only for insert into a LONG column
>
38:11,046 WARN [org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:233)] - <SQL Error: 1461, SQLState: 72000>
38:11,046 ERROR [org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:234)] - <ORA-01461: can bind a LONG value only for insert into a LONG column
>
经测试oracle驱动没有问题(自己用spring+hibernate写的测试程序),但公司的这个框架一直报这个错(在hibernate中直接操作jdbc可以通过,不过一个项目用了hibernate了还用jdbc进行这些简单的插入更新操作,失去了用hibernate的意义)。
求各位高手解答
8 个解决方案
#1
这个和框架这些没关系,是你数据库的字段太短,插入的数据过长,修改一下字段的长度后再试试
#2
跟字段长短没关系,插入英文30的长度没问题,中文1个字符都报这错
#3
而且通过直接调用jdbc可以插入,说明数据表是正确的
#4
什么数据库?
#5
hibernate的方言配置对了么?
#6
org.hibernate.dialect.OracleDialect按的官方文档写的,应该没问题吧oracle10
g
g
#7
一个是方言。另一个就是你的驱动jar包,一定要从你所连接的数据库中提取
#8
我也遇到了这个问题,发现是驱动包版本的问题。换成新的驱动包 ojdbc14.jar 就解决问题了。
#1
这个和框架这些没关系,是你数据库的字段太短,插入的数据过长,修改一下字段的长度后再试试
#2
跟字段长短没关系,插入英文30的长度没问题,中文1个字符都报这错
#3
而且通过直接调用jdbc可以插入,说明数据表是正确的
#4
什么数据库?
#5
hibernate的方言配置对了么?
#6
org.hibernate.dialect.OracleDialect按的官方文档写的,应该没问题吧oracle10
g
g
#7
一个是方言。另一个就是你的驱动jar包,一定要从你所连接的数据库中提取
#8
我也遇到了这个问题,发现是驱动包版本的问题。换成新的驱动包 ojdbc14.jar 就解决问题了。