无效的列类型
Brought to you by:
ralasafe
报错内容:提交用户元数据的时候后台报“无效的列类型”错误。
环境:weblogic 9.2 + oracle 10g
原因:在提交元数据时,调用了UserCategoryManagerImpl.java 中的 addReservedUserCategory(Locale locale)方法,该方法中创建了UserCategory这个实例,但是没有设值UserCategory实例的file属性的值,所以默认为null。JavaBeanCoumnAdapter.java类中的setPreparedStatement设值UserCategory实例的file属性的值时,导致错误。
解决方法:PstmtSetter.java中的ObjectPstmtSetter类的set增加值是否为null的判断,并对值为null的情况做特殊处理。
if(o == null){
pstmt.setObject(pstmtIndex,o,java.sql.Types.VARCHAR);
}else{
pstmt.setObject(pstmtIndex,o);
}