`

java.sql.SQLException: ORA-01747: user.table.column, table.column 或列说明无效

 
阅读更多

 

今天,使用Hibernate框架,做映射时,添加数据时,

 

居然报了一个,

java.sql.SQLException: ORA-01747: user.table.column, table.column 说明无效

 

找了半天,也没有发现是什么原因, 列名,也没有错, 后面,才想起可以是 字段名,是hibernate的关键字,

改过来之后,就没有报这个错误了,

 

有时字段命名,还真的需要注意点,免得浪费太多的时间,

 

 

比如我在oracle数据库里面有一个字段名叫: leave

 

解决方案:

然后hibernate里面配置这个leave字段后,则会报列名无效,

如果一定要用这个,则需要用‘’括起来。就解决问题。

 

   正确的方式:

 <property name="level" type="java.lang.Integer">
              <column name='"level"' precision="1" scale="0" />
 </property>
    

 

   错误的方式:

 <property name="level" type="java.lang.Integer">
              <column name="level" precision="1" scale="0" />
        </property>
    </class>

 

  

 

分享到:
评论
3 楼 skydazzle 2012-06-25  
ok了 ,谢谢
2 楼 zhou363667565 2012-06-07  
直接用"[]"就ok.

比如:
<column name='[level]' precision="1" scale="0" /> 
1 楼 skydazzle 2012-06-01  
,则需要用‘’括起来。就解决问题。
怎么括?

相关推荐

Global site tag (gtag.js) - Google Analytics