Hibernate 操作 oracle数据库,报错总结
1、ORA-00957: 重复的列名
错误信息如下:
Hibernate: insert into T_RESOURCE (NAME, NUM, PARENT_FLAG, PARENT_ID, id, TYPE, URL, ID) values (?, ?, ?, ?, ?, ?, ?, ?)
2016-03-16 15:40:23,234[JDBCExceptionReporter.java:100 :WARN ]SQL Error: 957, SQLState: 42000
2016-03-16 15:40:23,235[JDBCExceptionReporter.java:101 :ERROR]ORA-00957: 重复的列名
2016-03-16 15:40:23,235[JDBCExceptionReporter.java:100 :WARN ]SQL Error: 957, SQLState: 42000
2016-03-16 15:40:23,235[JDBCExceptionReporter.java:101 :ERROR]ORA-00957: 重复的列名
原因分析:
正常的原因会是,hibernate的配置文件或注解类的数据库字段,对应关系错了,或者配错了,但是检查过后没有什么问题。debug在HibernateTemplate.save()之前数据库vo也是只有一个id,结果打印出来的sql中就包括id,ID
最后发现,配置实体类自关联时,关联自身id配置有问题,修改后就好了