`

系统开发中碰见的一些Bug,供参考

阅读更多

自己在系统开发过程中碰见的一些问题,同时,附上了自己的一些解决方案,供参考,并非正确解答方案。

 

(1)Hibernate3 错误: could not initialize proxy - no Session org.hibernate.LazyInitializationException: could not initialize proxy - no Session at 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 exception java.lang.StackOverflowError at 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提交地址是否正确,是否多了引号。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics