错误提示:
出错信息:<testcase classname="com.topdigi.persistence.CompanyDAOTest" name="testGetAllCompany" time="0.016"></testcase>
<testcase classname="com.topdigi.persistence.CompanyDAOTest" name="testInsertCompany" time="0.312">
<error type="java.lang.StackOverflowError">java.lang.StackOverflowError
at java.lang.Class.privateGetDeclaredFields(Class.java:1499)
at java.lang.Class.getDeclaredFields(Class.java:1090)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionAppend(HashCodeBuilder.java:345)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:327)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:194)
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at java.util.AbstractSet.hashCode(AbstractSet.java:103)
at org.apache.commons.lang.builder.HashCodeBuilder.append(HashCodeBuilder.java:392)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionAppend(HashCodeBuilder.java:353)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:327)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:194)
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at org.apache.commons.lang.builder.HashCodeBuilder.append(HashCodeBuilder.java:392)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionAppend(HashCodeBuilder.java:353)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:327)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:194)
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at java.util.AbstractSet.hashCode(AbstractSet.java:103)
at org.apache.commons.lang.builder.HashCodeBuilder.append(HashCodeBuilder.java:392)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionAppend(HashCodeBuilder.java:353)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:327)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:194)
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at org.apache.commons.lang.builder.HashCodeBuilder.append(HashCodeBuilder.java:392)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionAppend(HashCodeBuilder.java:353)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:327)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:194)
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at java.util.AbstractSet.hashCode(AbstractSet.java:103)
.......(下面还有好多异常,都是和上面重复的提示)
出错信息:<testcase classname="com.topdigi.persistence.CompanyDAOTest" name="testGetAllCompany" time="0.016"></testcase>
<testcase classname="com.topdigi.persistence.CompanyDAOTest" name="testInsertCompany" time="0.312">
<error type="java.lang.StackOverflowError">java.lang.StackOverflowError
at java.lang.Class.privateGetDeclaredFields(Class.java:1499)
at java.lang.Class.getDeclaredFields(Class.java:1090)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionAppend(HashCodeBuilder.java:345)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:327)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:194)
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at java.util.AbstractSet.hashCode(AbstractSet.java:103)
at org.apache.commons.lang.builder.HashCodeBuilder.append(HashCodeBuilder.java:392)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionAppend(HashCodeBuilder.java:353)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:327)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:194)
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at org.apache.commons.lang.builder.HashCodeBuilder.append(HashCodeBuilder.java:392)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionAppend(HashCodeBuilder.java:353)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:327)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:194)
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at java.util.AbstractSet.hashCode(AbstractSet.java:103)
at org.apache.commons.lang.builder.HashCodeBuilder.append(HashCodeBuilder.java:392)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionAppend(HashCodeBuilder.java:353)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:327)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:194)
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at org.apache.commons.lang.builder.HashCodeBuilder.append(HashCodeBuilder.java:392)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionAppend(HashCodeBuilder.java:353)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:327)
at org.apache.commons.lang.builder.HashCodeBuilder.reflectionHashCode(HashCodeBuilder.java:194)
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at java.util.AbstractSet.hashCode(AbstractSet.java:103)
.......(下面还有好多异常,都是和上面重复的提示)
解决方案 »
- safari浏览器报Your copy of safari is missing important software resources如何解决?
- 服务器端动态改变客户端页面???
- 如何根据选择按钮的不同加不同的参数!!
- hibernate 映射文件怎么配置降序索引
- 为什么我根本找不到:org.apache.struts.actions这个包; 是struts1.38; 我想要用LookupDispatchAction这个类; 难道是1.38己经没有这个类了吗
- 怎样解决跨语言系统的整合连接问题?
- 开发java程序的主流工具是什么?
- 使用hibernate如何能够执行一个sql文件里面所有的sql语句?
- 请进来讨论EJB!
- springmvc http请求转发
- tomcat配置出了问题!!
- 我对我的jb做了以下修改之后,servlet不能用了
按照以下配置,数据库一条记录也插入不进去,如果我将父类的.hbm.xml中关联部分的inverse="true"改为inverse="false",然后将测试代码中的(代码1)去掉,只保留(代码2):
account.setCompany(company); //标识为(代码1)
company.addAccount(account); //标识为(代码2)
这样就能插入数据.
但是我要用到inverse="true"的情况,应该怎样排除错误啊?是我的.hbm.xml配置错误嘛?
错误提示请见一楼
-------------------------------------------------------------
请楼主将company.hbm.xml中的inverse="true"不要改变,这样配置是没有错误的,上面的代码1也不要去掉,如果要级联更新,父类必须给资料提供关联字段的字段值.在父类中添加一个table属性:
<set
name="accounts"
table="Res_Account" //加上这一句
lazy="false"
inverse="true"
cascade="all"
sort="unsorted"
>我仔细看了一下楼主的程序,其他的配置没有问题,都正确.
at com.topdigi.model.BaseObject.hashCode(BaseObject.java:34)
at java.util.AbstractSet.hashCode(AbstractSet.java:103)从你的.hbm.xml文件中可以看出,"com.topdigi.model"是你的程序包名,那么"com.topdigi.model.BaseObject"就是你的程序了,错误就在这里,仔细检查一下你的BaseObject.java,或者将你的值对象先不要继承BaseObject.java,测试一下能不能通过,如果能通过,那么错误不在hibernate,而在你的BaseObject.java.楼主派错的时候,一定要沿着错误提示一步一步找下去,沉住心哦.
刚才按照你的说得,试了一下,通过了,谢谢你啦,帮了我一个大忙!