Hibernate的java.lang.StackOverFlowError问题
来源:互联网 发布:wine for mac下载 编辑:程序博客网 时间:2024/06/06 10:13
出现这类问题,主要是在一对多双向关联映射时在一方的java类里面的toString()方法时,出现了多方的类如图
@Override
public String toString() {
return "Classes [cid=" + cid + ", cname=" + cname + ", cinfo=" + cinfo
+ ", student=" + student + "]";
}
将", student=" + student +去掉即可, 因为如果加上", student=" + student + 意思就是在最后的遍历或者迭代循环里面出现了打印classes同时又打印student,进入打印student同时又打印classes从而进入一个死循环,所以才会出现内存溢出。
但是此时有的朋友可能会问,为什么会出现在toString()方法里面呢?因为Classes classes=(Classes)session.get(Classes.class,1);
System.out.println(classes);//打印Class类会打印Student类,打印Student类又会打印Class类
Set set=classes.getStudent();
Iterator<Student> it=set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
it.next()打印的是student对象,当这个对象在调用toString()方法时,如果类里面没有覆盖toString()方法,则会返回
“类名@hashcode",如果覆盖了toString()方法,则会将toString()里面的打印出来Student [sid=1, sname=张超, sinfo=太极拳, cid=null]Student [sid=2, sname=张杰, sinfo=如来神掌, cid=null]。
- Hibernate的java.lang.StackOverFlowError问题
- Hibernate的Java.lang.StackOverflowError
- Hibernate获取数据java.lang.StackOverflowError
- Hibernate获取数据java.lang.StackOverflowError
- java.lang.StackOverflowError(hibernate内存溢出)
- Hibernate java.lang.StackOverflowError异常解决
- 在hibernate中解决java.lang.StackOverflowError
- TextWatcher 出现 java.lang.StackOverflowError 的解决有关问题
- java.lang.StackOverflowError出现的原因
- Hibernate多对一遍历对象的时候报java.lang.StackOverflowError错误
- Hibernate多对一遍历对象的时候报 java.lang.StackOverflowError错误
- java.lang.StackOverflowError翻译
- java.lang.StackOverflowError
- java.lang.StackOverflowError Exception
- java.lang.StackOverflowError
- java.lang.StackOverflowError
- java.lang.StackOverflowError
- java.lang.StackOverflowError
- Android概述
- [转]如何在Ubuntu 14.04中安装最新版Eclipse
- dijkstra求最短路径长度
- Win10 多用户远程登录成功实然无法远程的问题
- [floyd]poj1125 Stockbroker Grapevine
- Hibernate的java.lang.StackOverFlowError问题
- 51nod 矩阵取数问题
- 考上北大有什么用?
- 在csdn中搜索自己的文章
- UVALive 6859 (凸包)
- android app 框架之BaseActivity
- Android 封装jar包,反射机制获取资源
- 解决Ubuntu下AndroidStudio中gradle process run很久的问题
- FFmpeg 参数详解(二)