hibernate boolean oracle,几个oracle,POI,hibernate常见异常解决办法

POI的Unable to read entire block问题解决办法

在网上看到一些关于这个问题的解决办法,甚至修改POI源代码,但至今没有一个完美的解决方案.我在遇到这个问题时是因为对现有excel添加时报错,新建excel时不报错,所以我先忽略这个错我,把创建excel的其他问题解决后,这个问题也就顺带解决了,就是这样.所以我推测可能是创建excel表的其他问题引起了这个问题.只要解决了其他问题,这个问题就不存在了.

在POI中一定注意row的位置,合并单元格的位置,不能有错,不然错误会莫名奇妙.

用一个专门文件对Master表做常用的操作.

选用合适的设计模式对开发和维护很有帮助,至少代码量可以减少.一致性可以保证.

注意数据库的默认值设置和hibernate默认值设置(非空约束的区别)

如果初学者对J2EE设计模式感兴趣,可以用struts做一个增删改查的例子,将可以用到很多的好的设计模式,对照着学习,会加深对这些模式的理解.

java.lang.NoClassDefFoundError: org/hibernate/criterion/Criterion

没有加入hibernate3.jar包,尤其是在RCP开发时plugin.xml的Runtime选项卡中的

classpath列表框中添加

日期提取函数

MYSQL :Year(date),Month(date),DAYOFMONTH(date)

oracle:Extract(Year from date),Extract(MONTH from date),Extract(DAY from date);

在hibernate中添加默认值对应oracle中的默认值字段

oracle数据库变量,数据类型命名,尽量以大写字母命名,多个单词的中间用下划线隔开

不要用骆驼或微软的匈牙利命名法,oracle中变量,表等对象命名不能超过30个字符.

异常:把rcp项目作为eclipse启动,如果在console中没有出现异常报错,但程序运行却有错,可以去查看一下RCP程序自己的运行日志.里面应该有报错信息.非常有用.,在类似如下路径下D:\runtime-pafirc.product\.metadata\.log

org.eclipse.core.runtime.AssertionFailedException: null argument:Action must not have null id

解决办法:

在Action类中添加如下代码

public static final String ID = "pafirc.edu.cn.diagram";

在Action的构造函数中添加如下代码:

setId(ID);

org.hibernate.NonUniqueObjectException:a different object with the same identifier value was already associated with the session

同一个session关联了两个相同标识却是不同实体,可能是发生了主键或唯一性约束

org.hibernate.exception.SQLGrammarException: could not execute query

多数可能是SQL,HSQL等的语法错误或对oracle的权限不足.

或者在jdbcSQL语句中最后的逗号(;)MYSQL中可以保留,在oracle中必须去掉

否则出现语法错误

org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update

违反数据库约束,如unique constraint

org.hibernate.MappingException: Unknown entity:

hbm文件和java中的class不存在,可能是拼写错误.或者是文件路径不对,找不到文件.

ORA-00920: invalid relational operator

可能是SQL语句写错了,检查里面运算符是不是有错,如:多加了括号,有未知的字段

ORA-00904: invalid column name无效列名

ORA-00942: table or view does not exist表或者视图不存在,或权限不够

ORA-01400: cannot insert NULL into ()不能插入空值

ORA-01403: NO_DATA_FOUND没有数据

ORA-00051: TIMEOUT_ON_RESOURCE资源等待超时

ORA-01422: TOO_MANY_ROWS返回多于一行

ORA-01476: ZERO_DIVIDE除0错误

ORA-00936:缺少表达式,或用了oracle保留字

ORA-00933:SQL命令未正确结束

注意oracle子查询表达式和mysql中的不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值