系统开发中碰见的一些Bug,供参考
自己在系统开发过程中碰见的一些问题,同时,附上了自己的一些解决方案,供参考,并非正确解答方案。
?
(1)Hibernate3 错误: could not initialize proxy - no Sessionorg.hibernate.LazyInitializationException: could not initialize proxy - no Sessionat org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
原因:hibernate3 many-to-one的默认选项是 lazy = "proxy"解决方法:<many-to-one> & <one-to-many> 中设置 lazy="false",同时,采用get方式加载
?
(2)对于设置HTML文本框为只读readOnly="true"而非disabled。当设置为disabled时,无法通过ActionForm获得数据
?
(3)2009-3-8 19:06:57 org.apache.catalina.core.ApplicationDispatcher invoke严重: Servlet.service() for servlet action threw exceptionjava.lang.StackOverflowErrorat javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:216)at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:545)解决方案:可能是转发导致了无限循环
?
(4) Cannot delete or update a parent row: a foreign key constraint fails (`exam`.`t_option`, CONSTRAINT `option_fk` FOREIGN KEY (`qid`) REFERENCES `t_question` (`qid`))解决方案:设置父类对象中inverse="true" cascade="all".在hibernate对象的三种状态中属于瞬时态(Transient),这样级联删除是不行的.
?
(5)java.sql.BatchUpdateException: Cannot delete or update a parent row: a foreign key constraint fails解决方案:主要是由于外键设置引起的,设置主控方inverse="false"(由本方维护) cascade="all"(设置级联操作)对于Mysql数据库如果设置了事务,可能要设置SET foreign_key_checks = 0;
?
(6)在Struts与Spring集成的时候在Action中注入相关属性时,务必在配置文件中配置相应属性,否则可能可能抛空指针错误。
?
(7)在使用Struts时如果客户端请求不能进入相应的Action,检查Form中action提交地址是否正确,是否多了引号。